Googleフォームの回答をSlackの任意のチャンネルに投稿したい

実現したいこと

Slackアプリ「Incoming Webhook」を使用して、Googleフォームに回答があったらSlackの任意のチャンネルに回答を投稿したい。

前提

アプリのインストール後、GoogleフォームのGASで下記コードを設定し、
トリガは画像のように設定
イメージ説明
今までこれで問題なく動いていたのですが、最近下記のエラーメッセージが表示されチャンネルに投稿されなくなりました。

発生している問題・エラーメッセージ

TypeError: Cannot read properties of undefined (reading 'response') onFormSubmit @ 無題.gs:46

該当のソースコード

const getInputs = responses => { let inputs = [] responses.forEach(res => { inputs.push({ title: res.getItem().getTitle(), response: res.getResponse() }) }) return inputs } const createMessages = inputs => { let body = "" inputs.forEach(input => { body += "■" + input.title + "\n\n" + input.response + "\n\n" }) return body } const sendToSlack = (messages, channel) => { let url = "https://hooks.slack.com/services/××××"; let data = { "channel" : channel, "username" : "フォーム通知", "attachments": [{ "title": "フォームの回答がありました。", "text" : messages, }], }; let payload = JSON.stringify(data); let options = { "method" : "POST", "contentType" : "application/json", "payload" : payload }; UrlFetchApp.fetch(url, options); } const onFormSubmit = e => { const inputs = getInputs(e.response.getItemResponses()) const messages = createMessages(inputs) sendToSlack(messages, "フォーム回答チャンネル"); }

試したこと

ネットにあるコードをコピーして再設定しましたがエラーが出てしまいます。

コメントを投稿

0 コメント