前提・実現したいこと
LINE Messaging APIとgoogle Apps Scriptを利用し
LINE BOTに入力した文言をgoogle Spreadsheetに入力しようと思っています。
発生している問題・エラーメッセージ
想定通り、LINE BOTで入力した文言をgoogle SpreadsheetのA1セルに入力できたのですが、
試しに「const CHANNEL_ACCESS_TOKEN = "★1"; 」の「★1」の部分を
誤った文字列に書き換えた状態でソースコードを上書き保存しました。
その状態でLINE BOTに文字を入力したところエラーになると想定していたのですが
何故かgoogle SpreadsheetのA1セルにLINE BOTで入力した文字が記載されました。
ソースコードの基本的なルールに関する事でお恥ずかしいのですが、
「doPost」関数より前で宣言している「const CHANNEL_ACCESS_TOKEN = "★1"; 」は
どのタイミングで宣言されたり再度代入し直す事ができるのでしょうか?
追加でもう1つ教えてください。
「const line_endpoint = "https://api.line.me/v2/bot/message/reply";」を記載していますが
これは「google Spreadsheet」に入力するだけでgoogle Apps ScriptからLINE BOTへ
メッセージを返す必要がある場合に必要になる宣言だと思っているのですが合ってますか?
(変数の定義をコメントアウトした状態でLINE BOTを実行すると正常に「google Spreadsheet」に入力されましたが、
この結果が
「line_endpoint」はLINE BOTへの返信時にのみ必要で「google Spreadsheet」のに入力には関係ない、なのか
再実行されていない為過去に宣言されたままの状態が有効になっている為「google Spreadsheet」に入力できている、なのか判断がつきません。)
該当のソースコード
//LINE developerで登録をした、CHANNEL_ACCESS_TOKENを入力する const CHANNEL_ACCESS_TOKEN = "★1"; //const line_endpoint = "https://api.line.me/v2/bot/message/reply"; function doPost(e) { //SpreadSheetの取得 const sheetName = "202201"; const SS = SpreadsheetApp.openByUrl("自分のSpreadsheetのURLを記載します。"); //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(1, 1).setValue(user_message); }
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/12/08 01:41
2021/12/08 01:59
2021/12/08 07:20 編集