前提・実現したいこと
LINEのMessageing APIを使いgasと連携し、LINEで入力した文字列をgoogle spleadsheetに入力したい。
発生している問題・エラーメッセージ
一度想定通りにLINEに入力した文字をspleadsheetに反映できていたのですが、
ソースコードに手を加えている内にspleadsheetへ反映できなくなってしまい修正が出来なくなってしまいました。
Apps scriptの画面から「実行」をクリックすると以下のエラーが出ます。
エラーを見ると28行目の「const json = JSON.parse(e.postData.contents);」に
問題があるようなのですが、「Apps scriptの画面から「実行」をクリックした場合は
LINEからgasに送られてくる文字がない為出ているエラーなので問題ない」と
思っているのですが認識が間違ってますでしょうか?
宜しくお願いします。
(記憶ではエラーが出ていてもLINEから入力した場合には
spleadsheetに反映できていたような気もするのですが気のせいでしょうか…?)
TypeError: Cannot read property 'postData' of undefined doPost @ Timesheet_input.gs:28
該当のソースコード
const CHANNEL_ACCESS_TOKEN = "アクセストークンを記載しています"; const line_endpoint = "https://api.line.me/v2/bot/message/reply"; function doPost(e) { //SpreadSheetの取得 const sheetName = "202112"; const SS = SpreadsheetApp.openByUrl("SpreadsheetのURLを記載しています"); // const sheet = SS.getSheetByName(sheetName); //Spreadsheetのシート名 //POSTデータ取得 const json = JSON.parse(e.postData.contents); //LINEメッセージを取得 const user_message = json.events[0].message.text; sheet.getRange(day, 3).setValue(user_message); console.log(user_message); }
補足情報(FW/ツールのバージョンなど)
LINE のWebhook設定の検証も「OK」が表示される状態です。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。