【问题标题】:Inviting new user to private channel after inviting him by Slack API通过 Slack API 邀请新用户后邀请他进入私人频道
【发布时间】:2017-12-31 20:13:37
【问题描述】:

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

【问题讨论】:

  • 您是否尝试将私人频道的 ID(而不是名称)放入 user.admin.invite 请求中?它在前一段时间有效,可能仍然有效。您可以使用groups.list 获取所有私人频道的ID。
  • 我试过了,但我收到错误,因为在频道列表中找不到私人频道 ID,slack 将其命名为组。

标签: api slack slack-api


【解决方案1】:

未记录的 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的非官方文档,我已相应更新。

【讨论】:

  • 当我尝试添加私人频道(从 G 开始)时,我收到错误“channel_not_found”的响应。当我只发送公共频道时 - 一切都好。怎么了?
  • 我的猜测是与您正在使用的访问令牌关联的用户不是该私人频道的成员。即使是管理员也看不到他们没有被邀请的私人频道。尝试邀请该用户进入私人频道,它应该可以工作。
  • 你的意思是尝试使用已经加入该私人频道的用户的 Api 令牌,我需要在其中邀请新成员?
  • 基本上是的。链接到您正在使用的访问令牌的用户(通常是创建它的用户)需要是该私人频道的成员。
【解决方案2】:

Slack 目前似乎没有记录这个 API 端点,因为它仍在开发中,将来可能会发生变化(这可能是您现在遇到的情况)。这是一个 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 文档看来,您必须传入频道 ID 而不是频道名称。要获取频道 ID,您只需调用 channels.list 端点

【讨论】:

  • 我知道这种方法并且我使用它。但是私人频道不能通过在此方法的 pfrfms 中包含他们的 id 来加入。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-11-14
  • 2016-12-06
  • 2018-06-11
  • 1970-01-01
  • 2023-01-05
相关资源
最近更新 更多