はじめに
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に投稿された。。。
地味に時間を食ってしまった。。。