咨询:Business+版Slack如何通过API查询特定用户的频道归属
查询Slack Business+版特定用户加入的频道
可用API方法:users.conversations
这是Slack官方提供给Business+版的核心API,专门用于获取指定用户已加入的会话/频道:
- 关键参数:
user:必须传入,填目标用户的Slack用户ID(不是显示用户名,可通过users.list或用户资料页获取)types:可选,用来过滤频道类型,比如填public_channel,private_channel就能同时返回公开和私有频道(默认只返回公开频道)limit:可选,控制每页返回的结果数,最大支持1000
- 权限要求:
- 调用该API的应用需要拥有
users:read权限,以及channels:read(查询公开频道)、groups:read(查询私有频道)权限 - 注意:私有频道只有当调用API的应用本身也加入了该频道时,才会被返回
- 调用该API的应用需要拥有
- 示例curl请求:
curl -X GET "https://slack.com/api/users.conversations?user=U12345678&types=public_channel,private_channel&limit=100" \ -H "Authorization: Bearer xoxb-your-bot-token"
额外说明
- 返回结果里的每一项都代表该用户已加入的频道,
is_member字段会标记为true(指定user参数后返回的都是用户已加入的,这个字段可用于二次确认) - 和Enterprise Grid版的区别:Grid版有
admin.conversations.list这类管理级API,支持跨工作区查询,但Business+版仅能通过users.conversations查询单个用户的已加入频道 - 如果需要批量查询多个用户,需循环调用该API,注意遵守Slack的API速率限制(一般为每分钟最多100次调用)
内容的提问来源于stack exchange,提问作者freshuh
相关产品推荐
相关产品推荐

