google-apps-script - 使用谷歌脚本发布 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 时做错了什么?
解决方案
我没有做 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);
}
推荐阅读
- python - 为什么用 pymc.Uniform("stds",0,100) 计算的均匀分布的标准偏差每次都不同?
- javascript - getMonth() 减去一些东西会产生奇怪的结果
- bash - 使用 shell/bash 计算每对引用地图的频率
- ios - Vuforia + Unity 构建 iPhone X iOS 11.4 黑屏
- c# - 在 VB.NET 中使用 PDFsharp 或 MigraDoc 将 DOCX 文件转换为 PDF 文件
- ms-office - Office.js Word - window.external.RegisterEvent 不是函数
- javascript - 使用 Powershell 从 JSON 打印数据
- python - 我在文本文件中有两列。当我从第一列中搜索一个单词时,第二列数据应该在 python 中可见
- git - Git:是否可以在 git reset --hard 之后恢复我的本地未暂存更改(曾经暂存)?
- android - 如何在 android 中检查设备兼容性以进行虹膜扫描身份验证