概要
- SlackのWeb APIベースの**Slack API**へのアクセス方法を説明します。
- ここでは、ユーザープロファイルの取得APIを題材に説明しますが、他のAPIの呼び出し方もすべて同じです。
- ノンプログラミングでブラウザからすぐに呼び出して試せます。
Slack Appの作成
これからSlack Appを作成していく
まず https://api.slack.com/apps/new にアクセスする
App Name(アプリ名)とWorkspace(ワークスペース)を聞いてくるので、アプリ名をtestappとした。ワークスペースには、アプリをインストールするワークスペースを選択(※)する。
※たいていは自分が所属する組織で1つのワークスペースを使っているとおもうが、複数のワークスペースに所属している場合は複数の中から選択する。
入力したら[Create App]を押す。
OAuth Tokenの作成
次にOAuth Tokenを作成する。
Create Appをすると、こんな感じの画面がでている。
左ペインにあるOAuth & Permissionsを押す。
この画面を下の方にスクロールしていくと↓のようにSelect Permission Scopesという画面がでてくる。ここで、このSlack App(testapp)がどのようなScope(アクセス許可のスコープ)を持つかを指定する。
今回はこのSlack AppからSlackのユーザーのプロファイルにアクセスしたいuser.profile:readというScopeを指定する。
Scopeを入力すると↑のように補間されるので便利。
user.profile:readを選択したら、**[Save Changes]**を押す。
Slack Appをワークスペースにインストールする
さて、Slack App(testapp)へのScopeの登録も終了したので、これをワークスペースで使えるようにする。
OAuth & Permissions画面の一番上にある**[Install App to Workspace]**を押す。
すると、以下のように OAuthの確認画面が出てくる。
**[許可する]**を押すと、↓のように OAuth Access Tokenが生成される。
あとはここで生成されたOAuth Access Tokenを使って Slack API にアクセスできる。
早速 Web APIにアクセスしてみる。Profileを取得する Web APIのURLは https://api.slack.com/methods/users.profile.get に示してあるとおり、
** https://slack.com/api/users.profile.get**となるので、ここにさきほど生成した OAuth Access Token(xop-xxxxxxxxxxxxxxxxxxxxxの形式)を付与してアクセスする。
ブラウザのアドレス入力エリアに** https://slack.com/api/users.profile.get?token=xop-xxxxxxxxxxxxxxxxxxxxx**を入力してアクセスしてみる。
無事、アクセスに成功した。
まとめ
- Slack Appを作ってOAuth TokenをつかってSlack APIを呼び出す方法を説明しました
あと書き
Slack Bot と Slack Appは何が違うのか?
以前からSlackを使っている人ほど混乱しそうなのでメモを残しておきます。
ユーザーとインタラクティブなやりとりをするという意味でのSlack BotはSlack Appの一部です。
Slack Botのイメージは↓のsmilebotみたいな存在ですが、このBotはSlack Appの中からBot Userとして作成することができます。
以前は、Custom Integration(カスタムインテグレーション)といって、Slack Appを作らずに、単体でBotを作っていましたが、今はSlack Appの一部としてBot Userを作るのが推奨のアプローチになりました。