在Google工作表中进行修改时,有没有办法推送消息LINE应用程序?

问题描述

我对编码不是很了解,我正在做一个创建Line chat bot的项目,当Google表格在第I列进行编辑时,它将向用户(向用户推送消息)发出警报。我自己的娱乐活动和学校项目。我用Google脚本编辑器编写了代码。

但是使用UrlFetchApp.fetch('https://api.line.me/v2/bot/message/push',options);

后出现错误

错误代码400 内容{“ message”:“请求正文无法解析为JSON(行:1,列:10)”}} {{ 1}}

当对Google表格进行修改时,我非常感谢LINE推送消息的一些新想法或解决方案。

这是代码!我创建了函数pushMsg()来将消息从聊天机器人推送到LINE用户(在这种情况下,我使用我的用户ID来将消息推送到)

"muteHttpExceptions": true

我认为问题出在function pushMsg() { var usrId = "Uc2db25baf..."; var url = 'https://api.line.me/v2/bot/message/push'; var channel_access_token = "soEtz7raMUcVQDhlQ7ttFaqUyiktj0..."; var postData = { "to": "U1426ccaa18df...","messages" : [ { "type" : "text","text" : "Hello World" } ] }; var options = { "method" : "post","headers" : { "Content-Type" : "application/json","Authorization" : "Bearer " + channel_access_token },"payload" : JSON.stringify(postData),"muteHttpExceptions": true }; var result = UrlFetchApp.fetch(url,options); Logger.log("code: " + result.getResponseCode()); Logger.log("text: " + result.getContentText()); } 我真的是新来的,英语不是很好,所以如果我不清楚的话,对不起。请帮助我真的需要一些建议。预先谢谢你!

更新

预期结果是代码:200,但我得到了代码:400文本:{“ message”:“ Bad request”}

这是代码的另一个版本。我尝试删除JSON.stringify,但仍然出现错误:

UrlFetchApp.fetch(url,options); 

我得到了错误代码:400文本:文本:{“ message”:“请求主体这次无法解析为JSON(行:1,列:10)”}。

据我所知,问题应该出在授权步骤上吗? 这是我所做的步骤。

  1. 创建Line API
  2. 创建Google工作表
  3. 将函数onEdit(e)编写为调用pushMsg()
  4. 部署Web应用程序并将链接指向Webhook URL的消息传递API 我错过了哪些步骤会导致我得到错误?再次再次感谢您!

解决方法

您处在正确的轨道上。问题似乎是您正在告诉端点您正在发布JSON“有效载荷”。但是您的有效负载还不是JSON字符串。

尝试将您的选项对象更改为:

var options = { 
  ...,"payload":JSON.stringify({
    "to": "U1426ccaa18df...","messages":[
        {"type":"text","text":"Hello wor1"}
    ]
  }),...
}

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...