Slack APIのユーザー情報から必要な情報を抜き出しJson形式で保存する
token=[TOKEN]
python3 get_slack_userList.py $token
Python (get_slack_userList.py)
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import urllib
import urllib.request as request
import json
import sys
import ssl
ssl._create_default_https_context = ssl._create_unverified_context
URL = 'https://slack.com/api/users.list'
def main(token):
# API アクセス
params = {'token': token}
params = urllib.parse.urlencode(params)
req = request.urlopen(URL + '?' + params)
r = req.read().decode("utf-8")
data = json.loads(r)
# user情報を格納するlist
users = []
for key in data["members"]:
if "email" in key["profile"]:
users.append({
"id": key["id"],
"name": key["name"],
"email": key["profile"]["email"],
"deleted": key["deleted"]
})
# Jsonに保存
fname = "./json/usersdata.json"
with open(fname, "w", encoding="utf-8") as f:
json.dump(users, f, sort_keys=False, indent=4)
if __name__ == '__main__':
args = sys.argv
main(args[1])
出力したJson (usersdata.json)
[
{
"id": "AAAAAAAAA",
"name": "user_a",
"email": "user_a@xxxx.xx.xx",
"deleted": false
},
{
"id": "BBBBBBBBB",
"name": "user_b",
"email": "user_b@xxxx.xx.xx",
"deleted": false
}
]