首页 > 解决方案 > 使用 Slack Workspace 令牌向用户打开直接消息通道?

问题描述

我正在为 Slack开发一个新的Workspace 应用程序。我有一个用例,我需要通过直接消息(或 IM)向 Slack 中的用户发送通知。由于chat.postMessage端点需要一个频道ID,我可以使用conversations.list获取现有的IM 频道并向他们发送通知。

但是,如果用户还没有从他们这边打开一个 IM 频道,我需要创建一个。似乎 Web API 端点(conversations.openim.open)都不支持 Workspace 令牌。我不断收到not_allowed_token_type错误响应。我可以使用conversations.create创建一个公共频道,但这不是我需要的。

使用 Workspace 令牌时是否有其他方法可以向用户打开 IM 频道?

标签: slackslack-api

解决方案


我花了一段时间才弄清楚这一点。您需要将conversations.app_home:create范围添加/请求到您的权限。然后,您可以在chat.postMessage调用中将用户 ID 指定为通道 arg。


推荐阅读