前提・実現したいこと
LINEbotでおみくじ こちらのサイト( http://gilmon.hatenablog.com/entry/2017/01/04/224827 )を参考にLINEbotでおみくじに挑戦してみたのですが、
GASのほうで「TypeError: Cannot read property 'postData' of undefined doPost @ コード.gs:6 」というエラーがでます。
スクリプトの 「 var events = JSON.parse(e.postData.contents).events;」 この部分がエラーになるみたいです。
記事が3年前なのもあり情報が古いのか、なにか変更間違えているのかどうすればいいのかわかりません。 記事のスクリプトの中で変更したのは、各種画像のURLと一番最初のChannel Access Tokenだけです。ほかにも変更する場所があるのでしょうか。 有識者の方、お力を貸していただけませんか。 よろしくお願いします。
###コード####
// LINE Developers の Channel Access Tokenを設定 var channel_access_token = "トークン"; // LINEから呼ばれる関数 function doPost(e) { var events = JSON.parse(e.postData.contents).events; events.forEach(function(event) { if(event.type == "message"){ lineReply(event); } }); } // LINEへの返信 function lineReply(e) { var repMes = replyMessage(e); var postData = { "replyToken" : e.replyToken, "messages" : repMes }; var options = { "method" : "post", "headers" : { "Content-Type" : "application/json", "Authorization" : "Bearer " + channel_access_token }, "payload" : JSON.stringify(postData) }; UrlFetchApp.fetch("https://api.line.me/v2/bot/message/reply", options); } //返信する画像を準備 function replyMessage(e) { if(e.message.text=="おみくじ"){ var rand = Math.floor( Math.random() * 4 ) +1; var imageurl; switch (rand) { case 1: //大吉 imageurl="画像" break; case 2: //中吉 imageurl="画像" break; case 3: //吉 imageurl="画像" break; case 4: //小吉 imageurl="画像" break; } var repMes=[ { "type" : "image", "originalContentUrl" : imageurl, "previewImageUrl" : imageurl } ]; return(repMes) } };
発生している問題・エラーメッセージ
エラーメッセージ TypeError: Cannot read property 'postData' of undefined doPost @ コード.gs:6 ### 該当のソースコード var events = JSON.parse(e.postData.contents).events; ### 試したこと そのままコピぺで実行、""を付ける等