LoginSignup
5
2

More than 3 years have passed since last update.

SlackでOAuthを使用したAppを作成してTokenを取得

Last updated at Posted at 2019-06-06

※2019/06/12 テスト項を追加・Botでのファイルアップロードにスコープ「files:write:user」の権限が必要無かった為、手順を修正

別稿で取り扱いたかった内容が汎用的だったので抜き出してみました。
手順通りに進めればSlackAPIでBotを用いてファイルのアップロードを行う為のApp作成とTokenの取得ができます。

手順

  1. ブラウザからSlack API: Applications | Slackにアクセスします。
    サインアウト状態であればsign in to your Slack accountしてください。 0_apps.JPG
  2. 「Create New App」をクリックします。 1_YourApps.JPG
    ※App未作成だと以下のような画面だと思います。
    2_YourApps2.jpg
  3. 現れたダイアログでアプリ名を入力し、追加するワークスペースを選択して「Create App」をクリックしてください。
    3_CreateNewApp.JPG
  4. Basic Information画面に遷移すると思いますが、「Add features and functionality」項目内の「Bots」もしくはサイドバーメニューの「Bot Users」をクリックします。 4_BasicInfomation.JPG
  5. 「Add a Bot User」をクリックします。 5_BotUser.JPG
  6. Botユーザの表示名とユーザ名を入力して「Add Bot User」をクリックします。
項目名 説明
Display name アカウントの表示名に該当します。
Default username アカウントの氏名に該当します。
Always Show My Bot as Online Onにすると常にそのBotがオンライン状態に見えるようになります。お好みでどちらを選択いただいても大丈夫です。

6_BotUser2.JPG
7. サイドバーメニューの「Basic Information」から「Install your app to your workspace」を開き、「Install App to Workspace」をクリックします。
9_BasicInfomation.JPG
8. 追加したスコープの動作をワークスペース上で許可するか問われるので、問題無ければ「許可する」をクリックしてください。
10_Installyourapptoyourworkspace.JPG
9. サイドバーメニューの「Install App」をクリックします。「Bot User OAuth Access Token」に項目のTokenが今回追加したBotユーザのTokenです。
11_InstalledAppSettings.JPG

テスト

取得したTokenを用いてfiles.upload APIが使用できるかテストできるページが用意されており、確認が可能です。

  1. ブラウザからfiles.upload method | Slackにアクセスします。
  2. 下図のように適当に項目を埋めて「Test Method」をクリックします。
    ※上項手順で取得したTokenの入力は必須です。 SlackTester.JPG
    下図のようにSlackに通知が届きます!
    FileUploadTest.JPG

番外編:作成したAppで別のslack api呼び出しを許可する場合

上項手順ではBotを用いたファイルのアップロードが可能となりましたが、別のslack apiを使用する場合は使用するslack apiが必要とするスコープの許可を行います。

  1. サイドバーメニューの「OAuth & Permissions」をクリックします。
    ※サイドバーメニューの「Basic Information」から「Add features and functionality」を開き、「Permissions」をクリックしても開けます。
  2. 「Scopes」項目の「Select Permission Scopes」から使用するAPIに必要なスコープを選択し、「Save Changes」をクリックします。
    • APIに必要なスコープはOAuth Scopes to API methodsにて確認できます。
    • OAuth Scopes to API methodsページの「Associated Methods」列から使用したいAPIを探し、含まれている「OAuth Scope」を全て選択してください。
    • 「Select Permission Scopes」にて選択するリストの右側に記載のスコープが「OAuth Scopes to API methods」ページの「OAuth Scope」列と対応しています。
      8_Scopes.jpg

参考

Legacy tokens | Slack
Slack API 推奨Tokenについて - Qiita
SlackでOAuthを利用して BOT投稿 するための アクセストークン を取得する方法 - UTALI
OAuth Permission scopes | Slack

5
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
2