質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Slack

Slackは、Tiny Speckという企業からリリースされたコミュニケーションツールです。GoogleDriveやGitHubなど、さまざまな外部サービスと連携することができます。

Q&A

解決済

1回答

3229閲覧

Slack × GASのアプリケーションで、doPostが反応しない

退会済みユーザー

退会済みユーザー

総合スコア0

Slack

Slackは、Tiny Speckという企業からリリースされたコミュニケーションツールです。GoogleDriveやGitHubなど、さまざまな外部サービスと連携することができます。

0グッド

1クリップ

投稿2020/05/03 08:29

編集2020/05/05 13:38

やりたいこと

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を記述

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

SLACK_WEBHOOK_URLに、https://[slackのchannel名].slack.com/services/hogeに記載されているWebhook URLを記載していたのですが、これだとGASとSlackが紐付けられていないようでした。
正確には、https://api.slack.com/apps/hogeの、Features>Incoming Webhooks> Webhook URLに記載されているものを使う必要がありました。

投稿2020/05/06 15:06

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問