20
9

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

GAS × Line Messaging Api のデバッグ

Last updated at Posted at 2021-05-16

本記事の作成背景

5分で読めます!

GASでLine Messaging API を使い、Line Bot を作る場合、console.log()を使っても、ログが表示されないため、デバッグが難しいです。
※デバッグ・・・コードに含まれるエラーを調べること

そこで、
 google スプレッドシートにログを吐き出すことで、デバッグがしやすくなる方法
をご紹介します!

完成イメージ

写真のように、 ログが書き溜められていくようになります。
image.png

実装

ソースコード

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);
}

テスト

image.png
画像のように、'Debug'の右隣が 'debug▼' となっていることを確認し '▷Run(実行)' をクリック
(function debug()を選択し、実行しています)

以下の写真のように表示されたら成功です
※スプシのA列の書式を時間にしておく必要があります
(デフォルトでは日付のみが表示されているはずです)
image.png

使い方

実際のコードの必要なところに'debug( )'を書いて使いましょう!
※このコードは一部抜粋なので、不完全です

Code.gs
function doPost(e) {
    var event = JSON.parse(e.postData.contents).events[0];
    debug(event); //eventの中身をスプレッドシートで確認する

    if(event.type == 'message') {
      //ifを通ったことを確認する。
      debug('メッセージをを確認しました')

このようなコードを書くと、、、
image.png
スプレッドシートにeventの中身と、「メッセージを確認しました」という文章が現れました!

#おしまい
GAS × Line Messaging API での開発が少しでも楽になれば嬉しいです!

20
9
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
20
9

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?