GASでWebhook POSTデータを受け取る最小クイックコード

WebhookwoGASで受け取る最小クイックコード GAS

GASを使ってWebhookデータを受け取るクイックコードです。

備忘録的にまとめているので、扱いに関しては各自の判断でお願いします。

function doPost(e) {
  if (e == null || e.postData == null || e.postData.contents == null) return;
  
  var obj = JSON.parse(e.postData.contents);
  var now = new Date();
  var array = [];
  array.push(now, obj);

  var ss = SpreadsheetApp.getActive();
  var sheet = ss.getSheets()[0];

  sheet.appendRow(array);
}

デフォルトのスプレッドシートの0番目シートA列にタイムスタンプ、B列にPOSTデータがそのまま入ります。

レスポンス処理を加えたコード

レスポンスを返却する処理を追加したいという要望があったので、そのコードを追加した最小コードも記載したいと思います。

function doPost(e) {
  if (e == null || e.postData == null || e.postData.contents == null) return;
  
  var obj = JSON.parse(e.postData.contents);
  var now = new Date();
  var array = [];
  array.push(now, obj);

  var ss = SpreadsheetApp.getActive();
  var sheet = ss.getSheets()[0];

// データの追加処理ここから
  try {
    sheet.appendRow(array); 
    return ContentService.createTextOutput('データが正常に追加されました').setMimeType(ContentService.MimeType.TEXT);
  } catch(error) {
    return ContentService.createTextOutput('エラーが発生しました: ' + error.message).setMimeType(ContentService.MimeType.TEXT);
  }
}

try-chatchでレスポンスを追加しています。

以上です。

この記事を書いた人
ヨシオン

ECやホームページ管理、サーバーレスプログラムなどを行なう仕事の傍ら、副業としていろんな実行環境で動くアプリ制作をしています

ヨシオンをフォローする
GASWebhook
ヨシオンをフォローする

コメント

タイトルとURLをコピーしました