我正在尝试将消息从多个外部来源发送到一个特定的频道,该频道是私人的,只属于我自己。用户名应该是来源的名称,而不是我的 ID。
我发现有两种方法可以实现类似的功能: Incoming Webhooks和chat.postMessage
这两个我都练过,好像没什么区别。
但是,在Incoming Webhooks 中,声明说:
您现在无法将传入 Webhook 与 Workspace 应用程序一起使用;这些应用程序可以请求单通道写入权限,然后使用 Web API 中的 chat.postMessage 来发布消息,提供与传入 Webhooks 非常相似的功能。
这是什么意思?
对于我的工作,哪个更好?
补充一下 Ben 所说的:
传入的 webhook 的功能有限。如果您需要一种简单的方法来发送不需要令牌的消息,它们非常有用,但通常 API 方法 ( chat.postMessage
) 是更好的选择。它更灵活(例如不固定在一个通道上)并提供完整的功能(例如您获得消息的 ID 并且可以稍后更新它)。
工作区应用程序/令牌,其中一项新功能允许应用程序仅安装在一个通道中(除其他外)。它从未离开过测试阶段,可以安全地忽略以进行进一步的开发。
小智 5
使用 chat.postMessage() 可以向特定频道发送消息,通常是为了响应用户的操作。您将需要令牌来验证用户安装您的应用时收到的 postMessage 请求。传入的 webhook 通常用于发布一般信息,例如补丁说明或一般公告。据我所知,您不需要令牌,因为该 URL 后面有验证。所以 webhook url 绑定到一个特定的频道,这是通过用户指定的。使用 chat.postMessage,您可以在任何地方发布消息(取决于您的权限,可能不是在私人频道或直接消息中)