プログラム組むのも手間だなーと思い、シェルだけでやってみた。
この3stepで取得可能。
token取得
token取得の細かい手順はこちら参考
https://qiita.com/sukebeeeeei/items/7b059f0d8f90183ecb67
ユーザ一覧取得
curlでAPI叩く
curl -X POST -H 'Authorization: Bearer <token>' \
-H 'Content-type: application/json' \
https://slack.com/api/users.list > users_0.json
上記の結果、next_cursor が空じゃない場合は、続けて以下
curl -X POST -H 'Authorization: Bearer <token>' \
-H 'Content-type: application/json' \
https://slack.com/api/users.list\&cursor=<next_cursor> > users_1.json
&
の前に \
がいることに注意。
これらで取得した一覧にはbot(slack app)も含まれる。
botを除く
取得できたusersxx.jsonを一つのusers.jsonとしてmergeして jq
でfilterする
cat users.json | jq '.members | map(select(.is_bot == false)) | map({id: .id, name: .name})'
結果例
[
{
"id": "UXXXXXXXXX01",
"name": "xxxxx.yyyyy"
},
{
"id": "UXXXXXXXXX02",
"name": "zzzzz.yyyyy"
},
・・・
]