はじめに
SlackAPIを初めて使う方向けの、
SlackAPIの権限設定からデバッグまでのメモです。
おおまかな流れは、
1.Token(特定のSlackチャンネルにアクセスするキー情報)の発行
2.APIデバッグ用のページで実際に使用できるかのテスト
3.実装
以上。
##1.Tokenの発行方法
https://api.slack.com/apps
1)ログイン(ワークスペースの選択)
2)Tokenの目的設定
3)ワークスペースのインストール
たったこれだけ。
Slack API 推奨Tokenについて @ykhiraoさん
https://qiita.com/ykhirao/items/3b19ee6a1458cfb4ba21
でとてもわかり易くまとめられています。
##2.Tokenのスコープ
わからないところはサクッと(使うことがあれば追記していきます。)
###Incoming Webhooks
メッセージ受信
###Interactive Components
メッセージ送信
###Slash Commands
コマンド実行
###OAuth & Permissions
APIの許可権限設定
迷ったらこれ
例)Access information about user’s public channels
channels:read
ユーザーの公開チャンネルに関する情報にアクセスする
チャンネル:読み込み権限
###Event Subscriptions
通知機能
###Bot Users
BOTユーザ作成
###User ID Translation
グローバルIDをローカルユーザIDに変換する。
##3.SlackAPIの種類について
https://api.slack.com/methods
##4.テスト方法
https://api.slack.com/methods/channels.list/test
###失敗
{
"ok":"false",
"error":"not_allowed_token_type"
}
Tokenのスコープ設定を見直して、
OAuth & Permissionsに権限を追加。
変更するとトークンを再インストール(関連付け)する必要があるので実行する。
###成功(Jsonファイルが取得できる)
>```
{
"ok":"true",
"channels":[
{
"id":"XXXXXXXXX"
"name":"test"
(省略)
}
]
}
あとはAPIをスクリプトで実行すればよいだけ。
#トラブルシューティング
1)missing_scope(権限が足りないよ)
[19-04-25 17:41:20:665 JST] {needed=chat:write:user, provided=identify,channels:read,files:read,files:write:user, ok=false, error=missing_scope}
>needed:
chat:write:user,
provided=identify,
channels:read,
files:read,
files:write:user
この権限が必要です
chat:write:user,
provided=identify,
channels:read,
files:read,
files:write:user
>ok=false
だめでした
>error=missing_scope
権限が足りないよ
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/316594/49375ad5-3092-f1e9-799b-5de7a9e47b79.png)
さくっと追加して。成功。