Slack API を使用してアプリを作成 ~ メッセージを投稿するまでの手順メモ。
「Slack API: Applications」 にアクセス。
ワークスペースにログインしていない場合はする。
Create New App
をクリック。
From scratch
をクリック。
任意のアプリ名を入力、ワークスペースを選択し、Create App
をクリック。
これでアプリが作成される。
OAuth & Permissions
をクリック。
ページの中ほどにScopes
セクションがあり、ここでアプリにスコープを設定することができる。
ボットとして API を実行する際のスコープを設定するBot Token Scopes
と、ユーザーとして API を実行する際のスコープを設定するUser Token Scopes
がある。
まずBot Token Scopes
を設定する。Add an OAuth Scope
をクリック。
メッセージを投稿するにはchat:write
スコープが必要なので、追加する。
User Token Scope
も同様の手順でchat:write
スコープを追加する。
スコープを設定すると同じページの一番上のところでInstall to Workspace
ボタンが有効になっているので、クリックする。
権限をリクエストされるので、許可する
をクリック。
アプリのインストールに成功すると 2 つのトークンが生成される。
xoxp-
から始まるUser OAuth Token
( ユーザーとして API を実行するためのトークン )xoxb-
から始まるBot User OAuth Token
( ボットとして API を実行するためのトークン )ボットとして API を実行するために必要。ユーザーとして API を実行する際には不要。
Slack でショートカットボタン ->このチャンネルにアプリを追加する
の順にクリック。
今回作成したアプリを探して追加
をクリック。
以下のエンドポイントにリクエストを送信することでメッセージを投稿できる。
POST https://slack.com/api/chat.postMessage
今回使用するパラメータは以下。
パラメータ名 | 説明 |
---|---|
token | 「アプリをワークスペースにインストールする」手順で生成された OAuth Token 。 |
channel | メッセージの投稿先。 |
text | メッセージの本文。マークダウンを使用できる。 |
その他に指定できるパラメータについては公式ドキュメントを参照。
curl
を使用したサンプルBot User OAuth Token
を使用してみる。
$ curl -X POST 'https://slack.com/api/chat.postMessage' \-d 'token=xoxb-668814143316-2441900189495-E0TZsRkP18KjsKVNByhZwIIG' \-d 'channel=#test_channel' \-d 'text=*テキスト*'
ボット ( アプリ ) としてメッセージを投稿できた。
User OAuth Token
を使用してみる。
$ curl -X POST 'https://slack.com/api/chat.postMessage' \-d 'token=xoxp-668814143316-669295648309-2441900184311-aaf3e4170e14c8df4976783e33599de0' \-d 'channel=#test_channel' \-d 'text=*テキスト*'
ユーザーとしてメッセージを投稿できた。
https://zenn.dev/kou_pg_0131/articles/go-slack-go-usage
https://zenn.dev/kou_pg_0131/articles/js-slack-web-api-usage
バッジを受け取った著者にはZennから現金やAmazonギフトカードが還元されます。