本記事の作成背景
5分で読めます!
GASでLine Messaging API を使い、Line Bot を作る場合、console.log()
を使っても、ログが表示されないため、デバッグが難しいです。
※デバッグ・・・コードに含まれるエラーを調べること
そこで、
google スプレッドシートにログを吐き出すことで、デバッグがしやすくなる方法
をご紹介します!
完成イメージ
実装
ソースコード
Code.gs
function doPost(e) {
//中身省略
}
//doPost(e)の外に書く
function debug(value='デバッグテスト') {
const sheet = SpreadsheetApp.openById('スプレッドシートID');
const ss = sheet.getSheetByName('logs');
const date = new Date();
const targetRow = ss.getLastRow() + 1;
ss.getRange('A' + targetRow).setValue(date);
ss.getRange('B' + targetRow).setValue(value);
}
テスト
画像のように、'Debug'の右隣が 'debug▼' となっていることを確認し '▷Run(実行)' をクリック
(function debug()
を選択し、実行しています)
以下の写真のように表示されたら成功です
※スプシのA列の書式を時間にしておく必要があります
(デフォルトでは日付のみが表示されているはずです)
使い方
実際のコードの必要なところに'debug( )'を書いて使いましょう!
※このコードは一部抜粋なので、不完全です
Code.gs
function doPost(e) {
var event = JSON.parse(e.postData.contents).events[0];
debug(event); //eventの中身をスプレッドシートで確認する
if(event.type == 'message') {
//ifを通ったことを確認する。
debug('メッセージをを確認しました')
このようなコードを書くと、、、
スプレッドシートにevent
の中身と、「メッセージを確認しました」
という文章が現れました!
#おしまい
GAS × Line Messaging API での開発が少しでも楽になれば嬉しいです!