代表另一个用户创建多方渠道(松弛API)

时间:2016-12-01 23:11:10

标签: javascript slack-api

我有一个应用程序,我需要在slack中创建多方im组,然后为用户提供一个URL来访问该组。

首先,给定客户组织A中的用户A_org使用松弛Oauth2方法注册其应用程序的许可证。

稍后,用户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只是GET来自松弛的REST方法,并提供了参数。

问题:

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

提前致谢!

1 个答案:

答案 0 :(得分:1)

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

但您可以使用groups.create创建新的私人频道,并邀请用户B加入。它最初还将包括用户A,但用户A可以离开私人频道,以便只剩下用户B(以及任何其他受邀用户)。

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