Отправка вложенных данных из листа Google в API - PullRequest
1 голос
/ 14 апреля 2020

Я пытаюсь реализовать следующий REST в google-скрипте REST documentation

Код, который я использовал, указан ниже

function whatsapp() {
  //https://www.gupshup.io/developer/docs/bot-platform/guide/whatsapp-api-documentation#SendText

  var payload = {"channel":"whatsapp", 
                  "source":"917834811114", 
                  "destination":"91999990**34",//I have * done it on purpose  
                  "src.name":"googlerishisheet", 
                 "message.payload" : {
                   "isHSM":"true",
                   "type": "text",
                   "text": "Hi John, your order is confirmed and will be delivered to you by 15 Feb"
                 }
                }
                 
                           
  var url = 'https://api.gupshup.io/sm/api/v1/msg?apikey=0*8e4a487d6d4d3ccd2d52e7f0ffb78f'; // I have done * on purpose
  var options = {"method" : "post",
                 "payload" : payload};
   UrlFetchApp.fetch(url, options);
}

Результат, который я получаю,

enter image description here

Я также пробовал следующие способы.

  1. "payload":JSON.stringify(payload) Результат - {текст = Привет, Джон, ваш заказ подтвержден и будет доставлен вам до 15 февраля, введите = text, isHSM = false}

  2. "message":{"payload" : { "isHSM":"false", "type": "text", "text": "Hi I am testing whatsapp" }}}; и установите для contentType значение x- www.....urlencoded..

Результат - {payload = {type = text, text = Привет, я тестирую WhatsApp, isHSM = false}}

"src.name":"googlerishisheet", "message.payload.isHSM":"false", "message.payload.type": "text", "message.payload.text": "Hi I am testing whatsapp" }; Результат - Тот же вопрос

Ответы [ 2 ]

1 голос
/ 26 апреля 2020

В документации указано, что значение message.payload имеет тип object. Тем не менее, кажется, что вы должны отправить его в виде простой строки, сохраняя payload contentType как "application/x-www-form-urlencoded"

    "message.payload" : JSON.stringify({
                   "isHSM":"true",
                   "type": "text",
                   "text": "Hi John, your order is confirmed and will be delivered to you by 15 Feb"
                 })
0 голосов
/ 14 апреля 2020

Возможно, вам также понадобится добавить тип контента.

var options = {
                "method" : "post",
                "headers": {
                  "Content-Type": "application/json"
                 },
                 "payload" : payload
             };
UrlFetchApp.fetch(url, options);
...