在 Slack 邀请新用户后邀请他加入私人频道 API

Inviting new user to private channel after inviting him by Slack API

我使用 slack API 方法 users.admin.invite 邀请新用户加入 slack 团队。我需要和他一起进入一些 public 和一些私人频道。我在邀请请求中作为参数提供的频道,但对于私人频道我遇到了麻烦。它不是频道,它有另一种方法可以将用户加入其中。 方法groups.invite需要userId加入他。 是否可以使用 slack API 将此用户添加到 slack 私人频道(组)中?

似乎这个 API 端点目前没有被 Slack 记录下来,因为它仍在开发中,将来可能会发生变化(这可能是你现在 运行 的样子)。这是一个 link 到 github 的问题,更多地讨论了它。 https://github.com/slackhq/slack-api-docs/issues/30

我找到了一个 github,其中包含未记录的 slack API 端点的文档,但这些端点可能已经更改,因为它们不是官方的 https://github.com/ErikKalkoken/slackApiDoc/blob/master/users.admin.invite.md

从这些非官方 API 文档来看,您似乎必须传入 channelID 而不是频道名称。要获取频道 ID,您只需调用 channels.list 端点

未记录的 API 方法 users.admin.invite 有一个 channels 属性,您可以在其中指定您希望新用户自动成为的频道的 ID 列表邀请到。

这也适用于私人频道(我刚刚测试确认)。您需要做的就是指定一个私人频道 ID,它以 G 而不是 C 开头。

您可以使用API方法groups.list获取正确的私人频道ID。 (私人频道在 Slack 中称为群组 API)

请求示例:

https://slack.com/api/users.admin.invite?token=TOKEN&email=name@example.com&channels=G12345678

如果您使用此方法仍然遇到错误,那么很可能是由于其他问题,例如Slack 无法识别电子邮件地址或您的访问令牌没有管理员权限。

更多详细信息请参阅 github 上 users.admin.invite 的非官方文档,我已对其进行了相应更新。