<目次>
(1) Slackのアプリを作成する手順をご紹介
(1-1) Slackアプリの作成手順
●STEP1:Slackアプリの新規作成
●STEP2:Slackアプリの権限・スコープ設定
●STEP3:Slackアプリをワークススペースにリリース&Token発行
●STEP4:作成したAppをチャンネルに招待
●STEP5:疎通テスト(curlコマンドでAPI呼び出しし、ボットにメッセージ投稿をさせる)
(1) Slackのアプリを作成する手順をご紹介
本記事ではまずSlackアプリを作成し、curlコマンドでAPI呼び出しし、ボットにメッセージ投稿をさせる所までをご紹介します。
(※これだけでは、単にBotとして手動で投稿する事しか出来ないので、Botらしい「何かのイベントをトリガーにメッセージを投稿する」といった自動処理は別途(★)ご紹介します)
(図100)イメージ
(前提条件)
・Slackの初期セットアップ(FreeでもOK)が済んでいる
→アカウント登録、ワークスペースの作成が済んでいる
(1-1) Slackアプリの作成手順
●STEP1:Slackアプリの新規作成
・①Slack apiのサイトにアクセス
(図111①)
↓
・②「Create an App」押下
(図111②)
↓
・③「From Scratch」押下
(図111③)
↓
・④「App Name」(なんでも)とワークスペースを指定して「Create App」押下
(図111④)
↓
・⑤作成完了
(図111⑤)
(図111⑥)
●STEP2:Slackアプリの権限・スコープ設定
・①ご自身のアプリの左メニュー「OAuth & Permissions」押下
(図112①)
↓
・②「Scopes」→「Bot Token Scopes」→「OAuth Scope」に「chat:write」権限を追加する。
(図112②)
↓
・③同様に「channels:read」「groups:read」「im:read」「mpim:read」を付与
(図112③)参考↓Slack APIのドキュメントページ
●STEP3:Slackアプリをワークススペースにリリース&Token発行
・①ご自身のアプリの左メニュー「Install App」押下
(図113①)
↓
・②「Install App to Workspace」を押下→「Allow」押下
→Tokenが発行されます。
(図113②)
↓
(図113③)
↓
・Slack側でも作成したAppが追加されています。
(図113⑤)
・③Tokenが「Bot User OAuth Access Token」に表示されるので控えます。
→このTokenは後にPython等でアプリを開発する際に使用します。
(図113④)
●STEP4:作成したAppをチャンネルに招待
先程「chat:write」権限を付与してメッセージ投稿が出来るはずなので、その前準備として作成したAppをチャンネルに招待します。
・①SlackにてAppを招待したい(Appに投稿させたい)チャンネルを右クリック→「チャンネル詳細を開く」を押下
(図114①)
↓
・②「インテグレーション」タブで「アプリを追加する」を押下
(図114②)
↓
・③作成したAppで「追加」を押下
(図114③)
↓
追加された
(図114④)
・④チャンネルIDの確認コマンドを実行
次の疎通テストで、コマンドからAPIコールしてチャンネル投稿しますが、そのためには対象のチャンネルIDを取得する必要があります。下記のコマンドで取得しますが、最後の部分はご自身の「Bot User OAuth Token」を入力します。
curl https://slack.com/api/conversations.list -H "Authorization: Bearer xoxb-....中略..."
(図115①)
↓
・⑥チャンネルIDの取得
整形するとチャンネルごとにメタデータが見られます。「id」というキーの値がチャンネルIDです。
(図115②)
●STEP5:疎通テスト(curlコマンドでAPI呼び出しし、ボットにメッセージ投稿をさせる)
・①APIをコールして実際にチャンネルにメッセージを投稿してみます。
(コマンド例)
curl -X POST -F channel=C033P5X618W -F text="Rainbow Slack投稿テストです" https://slack.com/api/chat.postMessage -H "Authorization: Bearer xoxb-...中略..."
(図115③)
※ただし、これだけでは、単にBotとして投稿する事しか出来ないので、Botらしい「何かのイベントをトリガーにメッセージを投稿する」といった自動処理は別途(★)ご紹介します