【问题标题】:Create multi-party channel on behalf of another user (slack API)代表另一个用户创建多方频道(松弛 API)
【发布时间】:2016-12-02 22:43:26
【问题描述】:

我有一个应用程序,我需要在 slack 中创建多方即时消息组,然后向用户提供一个 url 以访问该组。

首先,给定客户组织A_org 中的用户A 使用slacks Oauth2 方法向slack 注册他们的应用程序许可证。

稍后,用户B(不是最初注册应用程序/创建身份验证令牌的用户)需要访问多方群消息通道。

目前,我正在这样创建组:

const response = await callSlackApiMethod('mpim.open', {
  token: access_token, // <-- access token of authorizing user (user A)
  users: slackIds.join(',') // <-- group of users including B, not including A
});

其中 callSlackApiMethod 只是 GETs 来自 slack 的 REST 方法,带有提供的参数。

问题:

response 中返回的组始终包含用户 A 的 slackId。有没有办法为用户 B(和其他用户)创建一个 mpim 通道,不包括用户 A,并且不必单独授权每个用户?

提前致谢!

【问题讨论】:

    标签: javascript slack-api


    【解决方案1】:

    不,mpim.open 无法做到这一点。使用用户 A 的令牌创建 mpim 频道与用户 A 邀请其他用户加入群组对话相同。

    但您可以改为使用groups.create 创建一个新的私人频道并邀请用户 B 加入。一开始还会包括用户 A,但用户 A 可以离开私人频道,这样就只剩下用户 B(和任何其他受邀用户)了。

    但请注意,将私人频道留给用户 A 会导致您在脚本中失去对其的控制。您将无法以任何方式重新输入或管理它。我一直在使用的解决方法是拥有一个管理员用户帐户(例如 slackadmin),该帐户可以留在私人频道中而不会显示为“间谍用户”。

    【讨论】:

    • 感谢您的帮助,使用管理员用户帐户可能是最佳选择。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-10-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多