首页 > 解决方案 > 传入的 WebHook 和动态用户名/频道

问题描述

我使用的是 Legacy 令牌,并且能够使用任何用户名发送任何频道。但是当我切换到使用传入 webhook 功能时,它仅适用于我们在创建 webhook 期间选择的一个通道。这是我正在使用的,

curl -X POST -H 'Content-type: application/json' --data '{"text":"Hello, World!","channel":"#my-channel" }' https://hooks.slack.com/services/XX/XX/XX

这里的消息总是发送到默认通道而不是我在 CURL 中指定的通道。

使用任何用户名(旧令牌除外)将松弛消息发送到任何频道的最简单方法是什么?我也没有看到任何客户端凭据(服务器到服务器)流

标签: curlslackslack-api

解决方案


如果您想使用自定义用户名向任何频道发送消息,您最好的选择是使用带有chat.postMessage的 Slack API 。

请注意,您将需要一个具有必要范围(例如chat:write:user)的 Oauth 令牌,这需要您创建一个 Slack 应用程序并将其验证到您的工作区。

如果您在自己的工作区中工作,您可以直接在 Slack App 管理页面中完成您的身份验证(请参阅内部集成)。否则,您将需要为您的应用程序实现 Oauth 流程(请参阅添加到 Slack)。

这是一个示例卷曲:

curl https://slack.com/api/chat.postMessage -X POST --data "token=TOKEN&channel=test&username=Luke Skywalker&icon_emoji=:dog:&text=The force is with me"

推荐阅读