Slack 频道 ID 在团队中是唯一的吗?

Is a Slack channel id unique across teams?

Slack channel/group/im/mpim ID 在不同团队中是否唯一?也就是说,两个团队可以拥有相同id的频道吗?

我阅读了文档,搜索了 Google 和此处的 SO,但无法确认频道 ID 是否唯一。

Slack 计划很快在文档中澄清这一点。虽然在今天,假设 ID 在不同团队中是唯一的,您可能会过得很好,但我们强烈建议按团队 ID 确定所有存储和检索的范围。

从本质上讲,我们建议将 ID 视为仅在团队内唯一,而不管它们在经验上是否是全局唯一的。

这是为未来保护自己的最佳方式。

更新(2021 年 5 月)

虽然某些 Slack API 方法(例如 conversations.info and users.info) operate on a channel ID and do not require a team ID, it is possible that they infer the team ID based on the provided Slack token ("user", "bot", "classic bot") which is scoped to the Slack team. (Thanks @zizzo 在下面的评论中指出这一点。)

原始 Post(2020 年 3 月)

有趣的是,Slack API 方法 conversations.info and users.info 只接受频道 ID 或用户 ID,不接受团队 ID。这表明实际上可能不需要按团队 ID 确定范围。

由于 conversations.info 方法不存在 [1](无论如何不公开)在 Taylor Singletary 的原始回答时,关于 ID 范围的指导可能从那以后发生了变化。

脚注

  1. 弃用早期方法,支持对话 API。 https://api.slack.com/changelog/2020-01-deprecating-antecedents-to-the-conversations-api

    We released the Conversations API in September 2017 as a one-size-fits-all replacement for a variety of APIs used to read and write information about channels, private channels, direct messages, and multi-party direct messages.