LoginSignup
8
2

More than 1 year has passed since last update.

Slack API を使って email から User ID を取得

Posted at

はじめに

連携しているアプリから Slackへメッセージを送る際に、特定のユーザにメンションしたい場合、メンバーID(User ID)が必要になるのですが、User ID って W012A3CDE みたいな文字列なので連携アプリ側からはわからないことが多いです。

そんな時は API を使って、email から User ID を取得すれば解決!

試してみたので備忘メモとして残します。

使ったAPI

使ったAPIは https://slack.com/api/users.lookupByEmail です。
ドキュメント見れば、本記事なんて読まなくてもすぐわかります!笑笑

1. アプリの登録

Slack の Your Apps でアプリを登録します。
すでに登録済みのものを使う場合はこの手順飛ばしてOKです!

1. Your Apps 画面

  • "Create New App" を押下 スクリーンショット 2021-09-25 16.32.43.png

2. Create an app 画面

  • "From scratch" を押下 スクリーンショット 2021-09-25 16.33.02.png

3. Name app & choose workspace 画面

  • "App Name" を入力
  • "Pick a workspace to develop your app in:" でアプリを作成するワークスペースを選択
  • "Create App" を押下 スクリーンショット 2021-09-25 16.33.26.png

4. アプリの Basic Information 画面

  • 作成完了したら表示される スクリーンショット 2021-09-25 16.33.50.png

2. アプリをワークスペースへインストールして token 取得

1. [OAuth & Permissions] メニュー で Scopes を登録

  • Scopes が何も登録されてないとワークスペースへインストールできないのでまずはScopesの登録
  • 画面下の方にある [Scopes] の項目で "Add an OAuth Scope" 押下
    スクリーンショット 2021-09-25 16.34.40.png

  • https://slack.com/api/users.lookupByEmail を使うには users:read のスコープが必要なのでそれを選択 して登録する
    スクリーンショット 2021-09-25 16.34.41.png

2. ワークスペースへインストール

  • "Install to Workspace" を押下
  • OAuth & Permissions のメニューから行っても良いし、Install App のメニューからでも良い
    スクリーンショット 2021-09-25 16.35.38.png

  • 許可を求められるので問題ないこと確認して許可する
    スクリーンショット 2021-09-25 16.35.47.png

3. トークンを確認

  • 無事発行されてます
  • API叩くときにこのトークンを使います スクリーンショット 2021-09-25 17.06.50.png

3. いざAPI!

APIの仕様を Slackのドキュメント で詳細確認してその通り利用します。

今回は https://slack.com/api/users.lookupByEmail を使うので、下記でOK

GET
https://slack.com/api/users.lookupByEmail?email=[メールアドレス]&token=[取得したトークン]

ユーザ情報のJSONが返却されるので、そこから User ID の情報を取得して使えば良いです。


以上、何の悩みポイントもないです簡単簡単〜。

8
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
8
2