如何解决在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)”}。
据我所知,问题应该出在授权步骤上吗? 这是我所做的步骤。
- 创建Line API
- 创建Google工作表
- 将函数onEdit(e)编写为调用pushMsg()
- 部署Web应用程序并将链接指向Webhook URL的消息传递API 我错过了哪些步骤会导致我得到错误?再次再次感谢您!
解决方法
您处在正确的轨道上。问题似乎是您正在告诉端点您正在发布JSON“有效载荷”。但是您的有效负载还不是JSON字符串。
尝试将您的选项对象更改为:
var options = {
...,"payload":JSON.stringify({
"to": "U1426ccaa18df...","messages":[
{"type":"text","text":"Hello wor1"}
]
}),...
}