LoginSignup
20
9

More than 5 years have passed since last update.

Slack公式アプリで直接DM画面が開けるように:URLスキームで起動するまでの手順

Last updated at Posted at 2016-11-17

2018年 追記

リンクから直接Slackアプリのchannelを開く方法 - Qiita
というより簡単な方法が追加されています。


2016年8月からSlackがURLスキームに対応しました。
slack://open
とすることで、Slackのアプリケーションを直接開けます。

しかし、各ユーザー、Channelへのリンクについては一工夫が必要です。
解説ドキュメントによれば、
例えばダイレクトメッセージの画面を開くには、
slack://user?team={TEAM_ID}&id={USER_ID}
と名前ではなく内部idを利用する必要があるためです。
このidはSlackのAPIを使わない限り取得は困難なため、
手順を解説します。

以下、ダイレクトメッセージの場合です。

1. テスト用API Tokenの取得

すでにSlackのAPI Tokenを取得していればこの手順は不要です。

SlackのAPIを実行できるよう、テスト用のtokenを取得します。
このページから生成できます。
このtokenはあくまでSlack APIのテスト向けのため、botなどの本番運用に使いまわすことは避けたほうがよいです。

2. APIでUSER_IDとTEAM_IDを取得

自分自身の場合

以下のURLから取得できます
https://slack.com/api/auth.test?token=your_token

ブラウザ上でSlackにログインしている場合は、
auth.test APIのテスト画面からも取得できます。

他人の場合

DM送受信済みの場合、yourteam/direct-messagesのDMアーカイブからidを取得することができます。

APIを利用するなら以下のURLから全ユーザーの情報を取得できます。そこから絞り込んでください。
https://slack.com/api/users.list?token=your_token

ブラウザ上でSlackにログインしている場合は、
users.list APIのテスト画面からも取得できます。

3. URL Schemeを組み立てる

slack://user?team={TEAM_ID}&id={USER_ID}
{}は実際のURLには不要です。念のため。

なお、ダイレクトメッセージ画面以外の画面を開いたり、検索結果を直接開いたりすることもできます。
解説ドキュメントと、API一覧をうまく利用してください。

20
9
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
20
9