如何通过Slack API获得总工作区(团队)用户数?



我试图获得Slack工作空间内的用户总数。只是计数。

我考虑过的事情:

  • users.list上迭代
    • 在API上不必要地繁重,并且让我失去了比我需要的更多的数据(我对用户的了解越少,我觉得越好)
    • 包括不活跃的用户(因此如果不遍历所有内容,则无法获得适当的指示)
  • 使用conversations.info
    • 需要一个我目前不使用的范围(channels:read)。获得通道的读取权限似乎是一种非常侵入性的权限(即使我的应用程序不使用它,我也不想通过请求这种信息来吓跑用户)。

是否有更简单的方法来获得这些信息或我还没有考虑到的任何想法?让我知道!

您可以为#general通道调用[conversations.members][1]。它不会返回用户总数,但它会返回属于该通道成员的所有用户id的列表,您只需要在您的端计算id。工作区中的每个用户都会自动添加到#general通道中。任何人都不能离开该通道,也不能删除或存档该通道,因此可以确保拥有最准确的工作区用户总数。conversations.members方法确实需要channels:read作用域,所以这是需要记住的。

最新更新