前提・実現したいこと
Lineとスプレッドシートを連携させたいと考えており、
Lineに入力したらスプレッドシートにその文言が反映されるようにしたいです。
ネット(https://chusotsu-program.com/line-gas/)で以下のコードをみつけてやってみたのですが、
スプレッドシートに反映されません。
$を先頭につけて入力すると反映されると説明にあったのですが、
どこがおかしいのでしょうか。
実行すると以下のメッセージが出ました。
どなたか助けていただけると幸いです。
発生している問題・エラーメッセージ
TypeError: Cannot read property 'postData' of undefined(行 3、ファイル「コード」)
該当のソースコード
function doPost(e) {
// 投稿されたメッセージを取得
var userMessage = JSON.parse(e.postData.contents).events[0].message.text;
if(userMessage.match(/^$/)) {
// $から始まるメッセージの場合、$を除いた文字列を再代入
userMessage = userMessage.substr(1);
} else {
// $から始まらない場合は何もしない(処理終了)
return;
}
// スプレッドシートへ保存=======================================
var response = e.postData.getDataAsString();
var spreadsheetId = "スプレッドシートのID";
var sheetName = "log";
var spreadsheet = SpreadsheetApp.openById(spreadsheetId);
var sheet = spreadsheet.getSheetByName(sheetName);
// 空白・タブ・改行で区切り配列に変換
var arr = userMessage.split(/\s/);
// 配列の先頭に日時を代入
arr.unshift(new Date());
// セルの最下部に配列を転記
sheet.appendRow(arr);
// =======================================
return ContentService.createTextOutput(JSON.stringify({'content': 'post ok'})).setMimeType(ContentService.MimeType.JSON);
}
試したこと
補足情報(FW/ツールのバージョンなど)
あなたの回答
tips
プレビュー