用于列出用户/机器人的加入渠道的API方法

时间:2018-03-07 07:59:42

标签: slack slack-api

Slack是否提供了一种方法,允许我检索用户或机器人的所有已加入频道的列表?

我无法找到合适的API方法,并希望避免使用默认的 channel.list group.list ,因为执行2 api会很昂贵调用并爬过所有通道并匹配成员ID,甚至可能因为每个通道的成员数组限制而使用分页。

1 个答案:

答案 0 :(得分:2)

没有单一的API方法可以通过单个API调用为您提供用户/机器人的所有联接渠道。

最快的方法(有两个API调用)确实在调用channels.listgroups.list并将结果与​​您的用户ID进行匹配,但由于最近引入的{{3>到最大每个频道500个成员。请注意,这是一个硬帽(!!),因此您无法通过分页获得其他成员。

建议的方法是使用较新的member cap,它有利于公共和私人渠道,并将返回完整的成员列表(带分页)。

但是,这种方法需要更多的API调用:

  • 使用conversations methods
  • 获取所有公共和私人频道的列表
  • 每个频道获得会员,每个频道conversations.list
  • 通过将用户ID与all进行比较,编译每个用户的频道列表 所有渠道的成员。

如果您认为API中缺少此功能,我建议向Slack团队发送功能请求。