获取来自特定频道的所有用户Slack API
问题描述:
我正在尝试使用python制作Slack Bot,并且我遇到了问题,我无法从特定频道获取用户,我只有在取得所有的用户。基本上我只想从那些(例如,随机频道)。 直到现在我试图从每个用户那里获得团队的ID并将其与一个渠道ID进行比较,但是失败的原因是每个人都有相同的ID,我无法弄清楚原因。 下面是代码的片段:获取来自特定频道的所有用户Slack API
def users_of_the_channel():
global slack_client
#this is the variable which is initialized with SlackClient(BOT_TOKEN)
api_call = slack_client.api_call("users.list",channel="C0XXXXXXX")
if api_call.get('ok'):
channels = api_call.get('members')
for channel in channels:
print ("this is cool : ", channel['team_id'])
我相信的是,当我初始化变量api_call
我称之为与users.list
参数的函数问题,我试着用usergroups.list
和usergroups.users.list
,但没有成功。 基本上要保持简短,我需要一个来自频道用户的列表,并且文档没有帮助我。
答
users.list
不会将频道ID作为您在API调用中提供的输入。
Slack为不同的团队提供不同的bot令牌。 只需使用需要用户列表的团队的bot标记调用api,即可获得成员列表。
client = SlackClient(SLACK_BOT_TOKEN)
request = client.api_call("users.list")
if request['ok']:
for item in request['members']:
print item['name']
有关可以通过api调用提供的可选参数的更多详细信息,请参阅文档(https://api.slack.com/methods/users.list)。