見出し画像

Google Formの変更に自動対応!修正不要のGASでSlackへ投稿しよう!

グーグルフォームの項目名を入れてデータを取得するとフォームの項目を変えるたびにGASも変えなくてはいけなくなります。
そのため、項目名:項目内容という形にしてmessageに追記しています。

function sendToSlack(e) {
  // SlackのWebhook URL
  const url = "https://hooks....";
  //回答者のメールアドレスを収集はgetItemResponsesにはいらない。
  const email = e.response.getRespondentEmail();

  // 項目名と回答の配列を作成
  const itemResponses = e.response.getItemResponses();
  let message = "新しいフォームに入力がありました。\n\n";

  for (let i = 0; i < itemResponses.length; i++) {
    let item = itemResponses[i].getItem();
    let title = item.getTitle();
    let response = itemResponses[i].getResponse();

    message += title + ": " + response + "\n";
  }

  // Slackにメッセージを送信
  const options = {
    "method": "POST",
    "contentType": "application/json",
    "payload": JSON.stringify({
      "text": message, 
    })
  };
  UrlFetchApp.fetch(url, options);
}

この記事が気に入ったらサポートをしてみませんか?