【Slack】メッセージをポストするまでのシンプルな設定手順

記事タイトルとURLをコピーする

日常的にコミュニケーションに利用しているSlackですが、システムやアプリケーションとの連携も容易で、システムイベントの通知などに利用されるケースも多いのではないでしょうか。

設定は簡単な部類だとは思いますが、「API経由でチャットメッセージをチャネルへポストする」に特化した設定手順を記録しておきたいと思います。

本記事の内容

下記公式ページにしたがって設定していく手順を示します。
ほぼそのままですが、トークンを発行してAPI経由でメッセージをポストすることをゴールとした内容とします。

api.slack.com

設定手順

Appsページへアクセス

Slackにログインした状態で次のURLへアクセスします。

https://api.slack.com/apps

App作成操作

Your Appsページが開きますので、 [Create New App] をクリックします。

続いて [From scrach] を選択します。

最後にアプリ名とワークスペースを選択し、 [Create App] をクリックします。
※注釈にもありますが、アプリ名は後で変更できます。とりあえず試すならテンポラリな名前でも良さそうです。(私はこういうところで悩んで時間使いがちなので助かります)

Appの権限設定

Appが作成され、設定ページが表示されます。
左サイドメニューから [OAuth & Permissions] を選択します。

下へスクロールし、Scopesセクション [Add an OAuth Scope] をクリックします。

プルダウンから chat:write を選択します。

chat:write が設定された状態です。

ワークスペースへ Appをインストール

続いて、左サイドメニューから [Install App] を選択、 [Install to Workspace] をクリックします。

確認ページで [Allow] をクリックします。

xoxb- で始まるBot User OAuth Tokenが発行されました。
([OAuth & Permissions] ページでも同じトークンを確認できます)

Appをチャネルへ参加

メッセージポストさせたいチャネルへこのAppを参加させます。
対象チャネルページで /invite と入力し、 [Add apps to this channel] を選択します。

選択画面で対象Appを探して [Add] をクリックします。

メッセージをポスト

公式ページにある通り、 curl コマンドでポストしてみます。
上の手順で取得したトークンを使用します。

curl -X POST \
-F channel=test_channel \
-F text="こんにちは" \
https://slack.com/api/chat.postMessage \
-H "Authorization: Bearer xoxb-123....."

Slackページ上で確認できます。

なお channel へ指定する値はチャネルIDまたはチャネルIDとなります。(詳細は下記リンク参照)

chat.postMessage method | Slack

以上でSlackチャネルへAPI経由でメッセージポストができました。
ご参考になれば幸いです。