LoginSignup
24
21

More than 5 years have passed since last update.

【画像で説明】SLACKの推奨アクセストークン(レガシートークンじゃない方)を取得する方法 - GUIで取得編 -

Last updated at Posted at 2019-04-01

はじめに

SLACKのアクセストークンを取得する方法は2種類あります。

  • GUIで取得
  • http GETリクエストで取得

レガシートークン(非推奨)というモノも存在します。
パニックです。
GUIで取得の方法をまとめました。
ご参考になれば、うれしいです。

http GETリクエストで取得する方法

こちらの記事に書きました。
もしよろしければ。
※ GUIで取得の方が簡単です。

レガシートークンについて

レガシートークンは現在非推奨とされているため扱いません。
もともとはレガシートークンだけしか存在しなかったのですが、ほぼ全ての権限をもつ(rootユーザーのような感じ)レガシートークンはセキュリティ的に良くないよねということで現在の必要な権限のみ付与する仕組みに変わったようです。
非推奨ですが使うことはできます。(2019/03現在)

前提

SLACKのワークスペース(チーム)があること。

手順

【STEP1】 アプリを作成

アプリに対してアクセストークンが付与されるので、まずは作ります。

  1. https://api.slack.com/apps にアクセス
  2. Create an App
  3. お好きなアプリ名を入力
  4. アプリをインストールするワークスペースを選択
  5. Create an App

スクリーンショット 2019-03-29 16.51.42.png
スクリーンショット 2019-03-29 17.12.02.png



■ 作成完了 ■
スクリーンショット 2019-03-29 18.06.09.png



■ やり直したい時は ■
サイドメニューBasic Information
スクリーンショット 2019-03-29 20.26.56.png

最下部のDelete Appボタンでアプリを削除
スクリーンショット 2019-03-29 18.13.44.png



↑↑↑↑↑ ここまではhttp GETリクエストで取得と共通の手順になります ↑↑↑↑↑


【STEP2】 スコープを設定

サイドメニューOAuth & Permissions
スクリーンショット 2019-03-29 20.38.31.png

Select Permission Scopesのプルダウンから必要なスコープを追加 → Save Changes
スクリーンショット 2019-03-29 20.40.31.png

例えば channels.historychannels.info というメソッドを使いたいときは channels:historychannels:read というスコープを追加します。
下に スコープ一覧↓ 載せました。


【STEP3】 アプリをインストール

スクリーンショット 2019-03-29 20.59.25.png

スクリーンショット 2019-03-29 21.02.13.png



■ アクセストークンの場所 ■
スクリーンショット 2019-03-29 21.36.48.png


【STEP4】 取得したトークンをテストする

ブラウザのURL欄に https://〜 を入力してください。
※curlコマンドでリクエストをなげてもOKです。

https://slack.com/api/channels.history?token=xoxp-228897819378-228958135940-590632179824-683ca3e9c7c4ae435bc2ac65443b3bec&channel=C6QSDQ4P4

↓↓↓ 上記パラメータには以下の値が入っています。

https://slack.com/api/付与したスコープで利用できるメソッド名?token=アクセストークン&channel=チーム内に存在するチャンネルのID

URLのパラメータに何をわたせばいいか、返却値として何が返ってくるのかなどはScopes and permissionsから調べられます。

ちなみにSLACK apiにわたすchennel=の値はチャンネル名ではなく、チャンネルIDである必要があります。
(上記例での channel=C6QSDQ4P4 の部分です。)
下に確認方法を記載しました。チャンネルIDの確認方法↓


【STEP5】 トークンテストの結果

■ 成功 ■
"ok" キーの値がtrueとなります。

{"ok":true,"messages":[{"user": ・ ・ ・ ・ ・ ・ ・}

■ 失敗 ■
"ok" キーの値がfalseとなります。

{"ok":false,"error":"channel_not_found"}



アクセストークンの取得手順は以上となります。


チャンネルIDの確認方法(参考)

SLACK上でチャンネルを選択した状態でURL欄から確認できます。
スクリーンショット 2019-03-31 14.09.12.png


スコープ一覧(参考)

https://api.slack.com/docs/oauth-scopesより

OAuth Scope Associated Methods
channels:history
  • channels.history
  • channels.replies
channels:read
  • channels.info
  • channels.list
channels:write
  • channels.archive
  • channels.create
  • channels.invite
  • channels.join
  • channels.kick
  • channels.leave
  • channels.mark
  • channels.rename
  • channels.setPurpose
  • channels.setTopic
  • channels.unarchive
  • conversations.join
chat:write:bot
  • chat.delete
  • chat.deleteScheduledMessage
  • chat.postEphemeral
  • chat.postMessage
  • chat.scheduleMessage
  • chat.update
chat:write:user
  • chat.delete
  • chat.deleteScheduledMessage
  • chat.meMessage
  • chat.postEphemeral
  • chat.postMessage
  • chat.scheduleMessage
  • chat.update
dnd:read
  • dnd.info
  • dnd.teamInfo
dnd:write
  • dnd.endDnd
  • dnd.endSnooze
  • dnd.setSnooze
dnd:write:user
  • dnd.endDnd
  • dnd.endSnooze
  • dnd.setSnooze
emoji:read
  • emoji.list
files:read
  • files.info
  • files.list
files:write:user
  • files.comments.delete
  • files.delete
  • files.revokePublicURL
  • files.sharedPublicURL
  • files.upload
groups:history
  • groups.history
  • groups.replies
groups:read
  • groups.info
  • groups.list
groups:write
  • groups.archive
  • groups.create
  • groups.createChild
  • groups.invite
  • groups.kick
  • groups.leave
  • groups.mark
  • groups.open
  • groups.rename
  • groups.setPurpose
  • groups.setTopic
  • groups.unarchive
identity.basic
  • users.identity
identity.basic:user
  • users.identity
im:history
  • im.history
  • im.replies
im:read
  • im.list
im:write
  • im.close
  • im.mark
  • im.open
links:write
  • chat.unfurl
mpim:history
  • mpim.history
  • mpim.replies
mpim:read
  • mpim.list
mpim:write
  • mpim.close
  • mpim.mark
  • mpim.open
pins:read
  • pins.list
pins:write
  • pins.add
  • pins.remove
reactions:read
  • reactions.get
  • reactions.list
reactions:write
  • reactions.add
  • reactions.remove
reminders:read
  • reminders.info
  • reminders.list
reminders:read:user
  • reminders.info
  • reminders.list
reminders:write
  • reminders.add
  • reminders.complete
  • reminders.delete
reminders:write:user
  • reminders.add
  • reminders.complete
  • reminders.delete
search:read
  • search.all
  • search.files
  • search.messages
stars:read
  • stars.list
stars:write
  • stars.add
  • stars.remove
team:read
  • team.info
tokens.basic
  • migration.exchange
usergroups:read
  • usergroups.list
  • usergroups.users.list
usergroups:write
  • usergroups.create
  • usergroups.disable
  • usergroups.enable
  • usergroups.update
  • usergroups.users.update
users.profile:read
  • team.profile.get
  • users.profile.get
users.profile:write
  • users.deletePhoto
  • users.profile.set
  • users.setPhoto
users.profile:write:user
  • users.profile.set
users:read
  • bots.info
  • users.getPresence
  • users.info
  • users.list
users:read.email
  • users.lookupByEmail
users:write
  • users.setActive
  • users.setPresence
24
21
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
24
21