##問題:
gasでlinebotを開発する際にdopost(e)を経由するデバッグができない点
##解決策:
function logを作成して通信によって受信する変数等をスプレッドシートに転記してエラーの発見をする
##ソースコード:
log.gs
function log(message){
var spreadsheet = SpreadsheetApp.openById('シートID');
var ss = spreadsheet.getSheetByName('シート名');
ss.appendRow([message]);
}
##使用例:
test.gs
function doPost(e){
if (typeof e === "undefined"){
//eがundefinedの場合動作を終了する
return;
}
//JSON文字列をパース(解析)し、変数jsonに格納する
var json = JSON.parse(e.postData.contents);
log(json)
//受信したメッセージ情報を変数に格納する
var reply_token = json.events[0].replyToken; //reply token
log(reply_token)
var messageId = json.events[0].message.id; //メッセージID
log(messageId)
}
function log(message){
var spreadsheet = SpreadsheetApp.openById('シートID');
var ss = spreadsheet.getSheetByName('シート名');
ss.appendRow([message]);
}
##使用例結果:
log(変数)と記した部分の変数がスプレッドシートの特定のシートに順番に転記されていきます
##今後の展望:
gasとlinebotのデバッグについて追記する
デバッグシートの作成と共有
##最後に:
少しでも役にたてば幸いです、読了ありがとうございました。
現在私は個人事業主として下記のサイトの事業を取り進めております。(サイトはまだ作成して間もないのでまだガタガタです、、)
ホテルの自動チェックインのラインでの実装や、rpaの制作をメインに進めています。
作業の自動化等にご興味があれば是非ご連絡ください。何卒よろしくお願いいたします。
https://senren.work/