首页 > 解决方案 > 使用谷歌脚本发布 json 数据时出现状态码错误

问题描述

我正在编写一个应用程序脚本来发送短信。在 sms api 文档部分,写了以下内容,可以发送短信:

POST http://clients.muthofun.net/api/v3/sendsms/json 
Host: http://clients.muthofun.net 
Content-Type: application/json 
Accept: */*

{
   "authentication":{
      "username":"test",
      "password":"test"
   },
   "messages":[
      {
         "sender":"044XXXXXXXX",
         "text":"Hello",
         "recipients":[
            {
               "gsm":"88017XXXXXXXX"
            }
         ]
      }
   ]
}

所以我写了下面的脚本代码, 修改为@Tanaike说

function myFunction() {

    var _auth = {
      "username": "*****", 
      "password": "*****"
    };

    var rec = {
      "gsm": "xxxxxxxxxxx"
    };


    var msg = {
      "sender": "xxxxxxxxxxx", 
      "text": "Hello", 
      "recipients": [rec]
    };

    var payload = {
      "authentication": _auth,
      "messages": [msg]
    };

    _payload = JSON.stringify(payload)


    var options = {
      'method' : 'POST',
      'contentType': 'application/json',
      "accept": "*/*",
      "payload": _payload
    };

    var url = "http://clients.muthofun.net/api/v3/sendsms/json";

    var response = UrlFetchApp.fetch(url, options);

    Logger.log(response);
}

但实际的反应是:

{  
   "results":[  
      {  
         "status":"0",
         "messageid":"10210011344550330860",
         "destination":"88017XXXXXXXX"
      }
   ]
}

但从Logger函数中我得到以下响应

{  
   "results":[  
      {  
         "status":"-5",
         "messageid":"",
         "destination":"8801552555645"
      }
   ]
}

是因为我错过了收件人和消息部分中的方括号吗?或者我在将发布请求发送到 url 时做错了什么?

标签: google-apps-script

解决方案


我没有做 json 请求,而是做了一个 http 请求来发送短信。

这是代码:

function myFunction() {
  var username = "*****";
  var password =  "****";

  var msg = "Harry kane didn't score!!! why!!!! why on August!!! :'(";

  var phone = "xxxxxxxxxxx";

  var url = "http://clients.muthofun.com:8901/esmsgw/sendsms.jsp?user="+username+"&password="+password+"&mobiles="+phone+"&sms="+msg;

  Logger.log(url)

  var response = UrlFetchApp.fetch(url);

  Logger.log(response);



}

推荐阅读