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