LoginSignup
7
4

More than 3 years have passed since last update.

gasとlinebotのデバッグについて

Last updated at Posted at 2020-10-16

問題:

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/

7
4
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
7
4