やりたいこと
Slack × GASを用いて、簡単なアンケート調査機能を作成しようとしています。
具体的には、GASからSlackにアンケートを投げ、Slackでアンケートに回答するとスプレッドシートに結果が溜まっていくというものです。
詰まっているところ
とりあえずGASからSlackに上記のようなアンケートを投げるところまでは成功しています。
ただ、ボタンを押した後に結果がCSVに反映されず原因の切り分けをしていったところ、そもそもdoPost
直下にログを仕込んでもログが出てきませんでした。ということは、そもそもdoPostまで届いていないということだと認識しております。
ソースコード
gs
1var SLACK_WEBHOOK_URL = 'https://hooks.slack.com/services/hogehoge'; 2 3function notify(){ 4 var title = "あなたは猫派?犬派?"; 5 var attachments = getNotifyAttachments(); 6 7 sendToSlack(title, attachments) 8} 9 10function getNotifyAttachments(){ 11 var actions = [ 12 { 13 "name": "feedback", 14 "text": "猫", 15 "style": "primary", 16 "type": "button", 17 "value": "cat" 18 }, 19 { 20 "name": "feedback", 21 "text": "犬", 22 "style": "danger", 23 "type": "button", 24 "value": "dog" 25 } 26 ] 27 return [ 28 { 29 "actions": actions 30 } 31 ] 32} 33 34function sendToSlack(text, attachments){ 35 var payload = { 36 "channel": '#test', 37 "text": text, 38 "attachments": attachments, 39 "link_names": 1 40 }; 41 42 var options = { 43 "method" : "post", 44 "payload" : JSON.stringify(payload) 45 }; 46 47 UrlFetchApp.fetch(SLACK_WEBHOOK_URL, options); 48} 49 50function doPost(e){ 51 Logger.log('post完了してます') // とりあえずこのログが表示されるところまでいきたい 52}
これらから考えられる点として、そもそも設定が何かしら間違っているからdoPostまで届いていないのだと認識しているのですが、設定を見直してみてもそれっぽい原因がわからず、苦戦しております。
もし原因がお分かりになるかたがいらっしゃいましたら教えていただけると幸いです。
確認したこと
- 最新のコードを保存し、公開>ウェブアプリケーションとして導入からプロジェクトバージョンを最新(new)にあげ、アプリケーションの実行は自分、アクセスできるユーザーは全員(匿名含む)にして更新
- 更新後dialogに出てきたappURL(
https://script.google.com/hogehoge/exec
)をOutgoing WebhookのURLに貼り、更新(チャンネルは全チャンネルに設定済み) - InteractivityのRequestURLに
https://script.google.com/hogehoge/exec
を記述
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。