見出し画像

GASからSlackメンションする際の表記とそのIDの取得方法

GAS上の表記でつまづくことがあったのでメモ。

GAS上の表記まとめ

チャンネル:<!channel> 
アクティブユーザー:<!here>
ユーザー:<@メンバーID>
グループ:<!subteam^取得したID|グループ名>

グループは有料版slackで有効な機能です。
例えば、@team ってメンションしたら、そのグループに含まれる人全員にメンションが行く。詳細は下記の通り。


個人IDの取得方法

プロフィール(個別に取得)

「ID slack」でググると解説ページが多くヒットする。大抵は、簡単にslackのメンバのプロフからコピーする方法が紹介されている。

公式ページにもなんか書いてないかなとザっと見てみたが、下記のページにちょろっと書いてあった。分かりにくい。

個々のメンバーのユーザー ID はメンバーのプロフィールにある (その他ボタン)をクリックすると見つけられます。その後、メンバー ID をコピーしてください。

Slack アナリティクス(一括で取得)

ワークスペースにいる全員のIDを一括して取得するには、管理画面からデータをエクスポートするようである。



SlackAPI users.list

後述するが、usergroups.list でUserグループのIDが取得できるようなので、同様にユーザも取得できるんじゃないかなと思ったらやっぱりあった。




UserグループのID取得方法

こいつが曲者だ。個人のようにプロフィールがないのでどっから取得するんだ、管理画面か?と思ったら、ブラウザ版にログインして、それを検証ツールでみるという裏技的なものがあった。

正攻法としては、usergroups.list を使えということなんだろうか。


2022/07/09追記:
Slackも公式にこう言ってるのね。
https://api.slack.com/reference/surfaces/formatting#linking-channels


Slack API


Slack App作成手順

notionでまとめた

Slack API Testerの使い方

notionでまとめた


SlackAPIについて

(以下、2022/03/31 追記分 )
こちらのnoteがわかりやすかった。ありがたい…!

https://note.com/kawa1228/n/nb0811ed44792



以下は自分の試行錯誤のメモあので、あまり参考にならないと思います。

tokenを管理画面から取ってきて、入れてみたい。
トークンはどこから取ってくるんじゃい。

アプリ作って、なんやかんやして作ると理解、やってみよう。
https://api.slack.com/apps ここにアクセスる。

あ、そういやアプリ作ってたな。アプリない人はQiitaの記事を参考にやってもらうとして、アプリが既にあると、https://api.slack.com/apps  にアクセスすると下図の赤枠で囲ったあたりで、トークンをごにょごにょできそう。

トークンがよくわかんない、と思ったら、ご丁寧に Learn about tokens があった。


とりあえず、自分しかいないテスト用のワークスペースだから、ごみ箱マークでdeleteして、もっかいGenerate Tokenする。した。
そして、Testerに貼り付けて Test methodポチるとこうなった。

スコープないよーと言われてる。ふむ、Appのほういく。App-Level Tokensしてみる。

ここでゲットしたトークンをTesterに入れてみるとこうなった。

2022/03/31 追記分 終わり。

いただいたサポートで、書籍代や勉強費用にしたり、美味しいもの食べたりします!