首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >来自Google Apps Script PushBullet格式的JSON短信

来自Google Apps Script PushBullet格式的JSON短信
EN

Stack Overflow用户
提问于 2016-10-08 19:49:25
回答 1查看 578关注 0票数 0

我正在尝试发送短信从我的手机使用PushBullet应用程序接口从谷歌应用程序计算脚本。

脚本是(auth data redacted)

代码语言:javascript
复制
function send_SMS() {
  Logger.log("send_SMS start");
  var options = {    
    "method" : "post",
    "Content-Type" : "application/json",
    "headers" : { "Authorization": "Basic aaaaaaaaaaaaaaaaaa" },
    "payload" : {    
      "push" : {
        "type" : "messaging_extension_reply",
        "package_name" : "com.pushbullet.android",
        "source_user_iden" : "iiiiiiiiiiiii",
        "target_device_iden" : "iiiiiiiiiiiiiiidddddddddd",
        "conversation_iden" : "0999999999",
        "message" : "TestSMS"   },
      "type" : "push"
     }
  };  
  var push_bullet_url = "https://api.pushbullet.com/v2/ephemerals";
  Logger.log(options);  
  UrlFetchApp.fetch(push_bullet_url, options);
  return;
}

我似乎犯了一些JSON打包错误,因为我得到了400。“无法解析JSON正文。”

文档在https://docs.pushbullet.com/#send-sms

我在Windows上尝试了CURL命令,没有问题(我做了一个“转义)

代码语言:javascript
复制
curl --header "Access-Token: ttttttttttttttt" --header "Content-Type: application/json" --data-binary "{ """push""": { """type""": """messaging_extension_reply""", """package_name""": """com.pushbullet.android""", """source_user_iden""": """iiiiiiiiiiiiiiii""",  """target_device_iden""": """iiiiiiiiiiiiiiiiiddddddddddddd""", """conversation_iden""": """0999999999""", """message""": """TestSMS"""  }, """type""": """push"""}"  --request POST https://api.pushbullet.com/v2/ephemerals

我成功地写了谷歌应用程序脚本,以获得user_ident,device_ident和发送测试“注意”消息。我认为这个问题可能是由于脚本中JSON有效负载中的字符串引号格式正确所致。

EN

回答 1

Stack Overflow用户

发布于 2016-10-09 15:12:20

最后,答案很简单!

选项JSON的有效负载部分必须是字符串。你可以通过(至少)两种方式做到这一点:

您可以添加以下字符串:

代码语言:javascript
复制
  var options = {
    "method" : "post",
    "headers" : { "Authorization": "Basic "+Utilities.base64Encode(PushToken+":"); },
    "payload" : JSON.stringify({
      "push" : {
        "type" : "messaging_extension_reply",
        "package_name" : "com.pushbullet.android",
        "source_user_iden" : "iiiiiii",
        "target_device_iden" : "iiiiiiiidddddd",
        "conversation_iden" : "0999999999",
        "message" : "Test SMS" },
      "type" : "push" } )

或者,您可以将有效负载编写为字符串,但它必须在一行中

代码语言:javascript
复制
"payload" : '{ "push" : { "type" : "messaging_extension_reply", "package_name" : "com.pushbullet.android", "source_user_iden" : "iiiiii", "target_device_iden" : "iiiiiiiidddddd", "conversation_iden" : "099999999", "message" : "Test SMS" }, "type" : "push" }'

最重要的是,您可以使用诸如http://httpresponder.com/之类的服务进行调试,以查看您发送的请求以及您的JSON是否格式正确。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39931985

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档