Slack API 团队邀请

Slack API team invitation

我正在寻找一个可以从我的应用程序向新用户发送 Slack 团队邀请电子邮件的电话。我在 SlackAPI 中搜索了它,但没有找到任何东西。是否可以创建一个代表我发送邀请的应用程序?
我目前正在使用 slacker 作为 Python 包装器,但如果有更好的库提供邀请,我可以开始使用它。

通过API

邀请新用户

Slack 中有一个未记录的方法 API 允许您以编程方式邀请新用户加入您的 Slack 工作区:

  • 方法名称:users.admin.invite
  • 参数:tokenemailchannels
  • 令牌:您的 slack API“测试”令牌(必需)
  • email:电子邮件地址,例如email=test@email.com(必填)
  • channels:新用户将自动加入的逗号分隔的频道列表。通道由 ID 指定。例如channels=C000000001,C000000002(可选)

完整示例:

https://slack.com/api/users.admin.invite?token=XXX&email=test@email.com&channels=C000000001,C000000002

请注意,此 API 方法仅适用于 legacy 类型的标记。

我开始记录我所知道的“未记录”的 Slack API 方法,包括 users.admin.invite。查看 github.

上的文档

通过API

创建新用户

或者 SCIM API 中有一个端点可以直接创建新用户:

POST /Users

但是,SCIM API 及其所有端点仅适用于 Plus 计划或 Enterprise Grid 上的 Slack 工作区.

重要更新

Slack 已决定从其 API 中删除遗留令牌。自 2020 年 5 月 5 日起,将无法再创建新的遗留代币(来源)。如果您有一个有效的遗留令牌,您应该能够继续使用未记录的 API 方法,但新用户不会。在决定在您的应用中使用此存储库中的任何方法时,请考虑这一点。

遗憾的是,用于邀请新用户的未记录端点 (users.admin.invite) 不再可用于新工作区,因为它需要旧令牌。

但还有另一种解决方案。

未记录的端点主要做的是向指定的电子邮件地址发送一封电子邮件,其中包含对您的工作区的邀请link。以下是重现该功能的方法:

  • 为您的工作区手动创建 invitation link
  • 向新用户发送包含邀请的电子邮件link

请注意,邀请 link 会在 2.000 次邀请后过期,因此您需要一种方法来计算使用情况并在需要更换时收到通知。

正如其他人所提到的,没有针对非企业计划执行此操作的记录方法。

如果您想自动发送邀请,您有两种选择:

  1. 您可以生成一个不会过期的邀请 URL 并将其发送给用户。这与 Slack 发送的邀请没有什么不同。
  2. 使用 API 标识您的身份验证会话的令牌。

只有当您是工作区的管理员时,后一种方法才有效。

  1. 打开 Slack 网络应用并拦截 HTTP 请求
  2. 使用 Slack 网络应用向测试用户发送邀请
  3. 查找提及 slack.com/api/users.admin.inviteBulk
  4. 的 HTTP 请求
  5. 从 HTTP 请求正文中复制 token 参数值。

现在您可以使用该 token 通过您的应用程序构造 users.admin.inviteBulk API 请求。

这种方法的缺点是这些令牌最终会过期。

两种方法都需要人工干预:

  1. 您需要每 2000 个邀请刷新 URL
  2. 您需要每 30 天刷新一次令牌