はじめに
以前Slack APIのTokenの取得・場所という記事を書かせていただきました。
しかしながらこちらのトークンは以前は「Test Token」と表記されていたもので、今ではレガシーでかつ非推奨みたいですので、今回この記事を書かせていただきした。
推奨Tokenも5分くらいで作成できますので、こちらを使用することをおすすめします!
慣れたら作成は1分以内でできるようになります。
スコープの選定も基本はchat:write:bot
とかSend messages系が一番多いと思うのであまり迷わないと思います。
トークンの効力
Tokenの種類 | 操作対象 |
---|---|
レガシー | ほとんどの機能が使える1つのTokenを発行 |
今回 | 必要な機能ごとのTokenを発行 |
英語できる方はドキュメントからどうぞ Using OAuth 2.0
Tokenについて
Token作成には以下の2種類があるかと思っています。
1. RedirectとResponseを利用した方法
パラメーターを付けたGETでアクセスして、返ってきたJSONにアクセスTokenがついてくるパターンの方法です。
今回は扱わないので、よくまとまっている上の記事などを参照されると理解しやすくなると思います。
2. GUIで作成する方法
今回はこちらを私が書いていきますので、最後までよろしくお願いします。
Tokenを作成する
アプリを作成してSlackにインストールすれば使えるようになりますので、その手順を書いていきます。
1. アプリ作成
まずはここにアクセスして、 https://api.slack.com/apps
クリックする / 入力する
- Create New App
- App Name
- Development Slack Team
- Create App
2. スコープ設定
まずはスコープの設定をしないとアプリをインストールできません。
今回のサンプルではチャンネルにメッセージを投稿するだけのスコープだけ設定します。
どのスコープでどういうことができるかは今回取り扱いませんので、ドキュメントを参照ください。
- permission scopeをクリック
- 必要なscopeを選択
- 今回はSend messages as sample.
3. Slackにアプリをインストール
ちゃんとScopeが設定されていると緑色になっている[Install App To Team]を押します。
Team名を確認して間違いがなければ[Authorize]を押します。
リダイレクトされた先にTokenが書かれていますのでこれを普通のTokenとして使ってください。
4. Tokenを探す
先のTokenを紛失したときの探し方。
https://api.slack.com/apps
アプリを選ぶ。
sampleをクリック
[OAuth & Permissions]をクリック
[OAuth Access Token]をコピー
5. Tokenが使えるかの実験
httpを叩いてみる
sampleのTokenですがこんな感じです。
https://slack.com/api/chat.postMessage?token=xoxo-xxx-xx-xx-xxxx&channel=bot-test&text=%22Hello%22
channelとTokenを変えると使えるはずです。
# 成功
{"ok":true,"channel":"xxxxx","ts":"xxxxx","message":{"text":"\"Hello\"","username":"sample","bot_id":"xxxxx","type":"message","subtype":"bot_message","ts":"xxxxx"}}
# 失敗
{"ok":false,"error":"token_revoked"}
残念な点
機能ごとにAppsが増えていく(Freeプランだと10個まで)
なのでレガシートークンの方の「Slack API Tester」だけ使いたくなりますね。
管理場所はSlackの外部Apps(Integrations)の場所・管理を参考ください。
https://your_team_name.slack.com/apps/manage です。
最後に
簡単なのでレガシートークンから置き換えて、新しいほうのトークンを是非使ってください。
間違いとかあったらコメント欄で優しく指摘くださるか、こっそりプルリクくれると喜びますm(__)m
.