LineBotでオウム返しが返ってこない
参考にしたURL
Gasのコード
Gas
1function doPost(e) { 2 3 var events = JSON.parse(e.postData.contents).events; 4 events.forEach(function(event) { 5 if(event.type == "message") { 6 7 reply(event); 8 } else if(event.type == "follow") { 9 follow(event); 10 } else if(event.type == "unfollow") { 11 unFollow(event); 12 } 13 }); 14} 15 16function reply(e) { 17 18 var channel_access_token = "アクセストークン"; 19 var message = { 20 "replyToken" : e.replyToken, 21 "messages" : [ 22 { 23 "type" : "text", 24 "text" : ((e.message.type=="text") ? e.message.text : "Text以外は返せません・・・") 25 } 26 ] 27 }; 28 29 var replyData = { 30 "method" : "post", 31 "headers" : { 32 "Content-Type" : "application/json", 33 "Authorization" : "Bearer " + channel_access_token, 34 }, 35 "payload" : JSON.stringify(message) 36 }; 37 addLog(replyData); 38 UrlFetchApp.fetch("https://api.line.me/v2/bot/message/reply", replyData); 39 40 return response.getResponseCode(); 41}
試したこと
- Webhookのonとoffを繰り返す
- アクセストークンを再発行し再度添付し更新
- 記事にもあるように、コードのreply()の最後に、下記に示すステータスコードを返却するコードを追記しましたが、変化なし
詳細
- Gasを実行すると以下のエラー文が表示される
TypeError: Cannot read property 'postData' of undefined(行 3、ファイル「コード」)
- Webhookの承認が出来ていない
The webhook returned an HTTP status code other than 200
- アクセスするユーザは「全員(匿名ユーザを含む)」に設定している
WebHookの承認が出来てないことが原因だと思うが、解決方法がわかりません。
お手隙の方、アドバイスを頂きたいです。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/12/27 07:34