Posted at

「投稿ルールが守られない問題」でダイアログはできても投稿されなかった問題


はじめに

slackで「投稿ルールが守られない問題」を自作のスラッシュコマンドで解決する(設定編) を見て、めちゃわかる!!と思い、GASで実装してみた。しかしなぜかSlack上でモーダルは表示され入力、送信はできるが、入力内容がSlackに投稿されない。。。


デバッグ

以下のミニマムですら動かない。。。利用しているライブラリの仕様変更なのかと思い試行錯誤。。。


function test() {
var slackApp = SlackApp.create('hogehoge');
var channelId = "#general";
var message = "Hello World";
var options = {
username: "fugafuga"
}
slackApp.postMessage(channelId, message, options);
}

デバッグしてみると、どうやら権限問題っぽい。

{needed=chat:write:user, provided=identify,commands, ok=false, error=missing_scope}


結論

SlackAPIのbotの書き込み権限がなかっただけだった。


  • chat:write:bot

「権限変更したから、Slackに再インストールしてね!」って注意書きが出てくるので、再インストールすれば無事Slackに投稿された。。。

地味に時間を食ってしまった。。。