GASからSlackにBOTで投稿したいです。
ユーザーとして投稿することはできたのですが、
以下ではBOTとして投稿されません。
どのように変更すれば良いでしょうか。
よろしくお願いします。
GAS
1// slackに投稿 2 let url = "https://slack.com/api/chat.postMessage"; 3 let channel = "xxxxxxxx"; 4 let message = "DEF" 5 payload = { 6 "token" : "xoxb-xxxxxxxx", // Bot OAuth Token 7 "channel": channel, 8 "text": message, 9 "username" : "ボット" 10 }; 11 let params = { 12 "method": "post", 13 "payload": payload 14 }; 15 // Slackに投稿する 16 UrlFetchApp.fetch(url, params);
>BOTとして投稿されません
メッセージを投稿したユーザーの名前が「ボット」にならないということですか?
それともユーザーが投稿したメッセージへの反応等何かしらのアクションに対して応答してほしいということですか?
ボットのアプリは、チャンネルに参加していますか?
メッセージを投稿したユーザーの名前が「ボット」にならないということです。
新たにAppを作成しそこでの設定は「てすと」という表示名にて作成し、提示されたコードを実行したところ「ボット」の表示でメッセージが投稿され現象が確認できませんでした。
アプリに chat:write.customizeのOAuth Scope を与えて認証していますか。
chat:writeだけで「ボット」と表示名を変更してメッセージ投稿できました。
chat:write.customizeは必須なのでしょうか?
私の環境では、必要でした。
Scopeの説明も、
Send messages as @(アプリ名) with a customized username and avatar
となっています。
今ほど、そのScopeを削除してから再認証した後に
username付きでBot投稿したところusernameが反映されていました。
その前は、
chat:writeだけではusernameが反映されず、
chat:write.customizeをScopeに与えたところ反映されるようになったのですが、
削除しても反映されるようになったのが不思議です。
私の環境ではテスト開始時にはchat:write.customizeを付けて行っていて、現在はchat:write.customizeは削除している状態で名称変更ができている状態でした。
新たにアプリを作成しなおしてchat:write.customizeを付与しない状態で確認したところ確かに名称変更できませんでした。
そこからchat:write.customizeを付与して名称変更できることを確認し、chat:write.customizeを削除したところ名称変更できる状態が続いています。Reinstall to Workspaceを実行しても状況が変わりませんでした。
なんでだろ?
詳しくありがとうございます。申し訳ありません。
tokenが間違っていました。別のものになっていたので訂正しました。
メッセージを投稿したユーザーの名前が「ボット」になりました。

回答1件
あなたの回答
tips
プレビュー