我正在尝试使用他们的 Web API 将 Slack 与我们的应用程序集成。我需要使用chat.postMessage具有自定义用户名并设置 as_user = false的端点。我可以发布消息,但是当我设置时as_user=false它不起作用。
例子:
{
"channel" : "1234689",
"text" : "Hello, It's me.",
"username": "DJDEPOLO",
"as_user" : false
}
Run Code Online (Sandbox Code Playgroud)
每次我打那个电话时,我都会收到一条错误消息,说我失踪了chat:write:bot。但我无法弄清楚如何获得该范围。我已经尝试了我能想到的所有方法,并多次浏览了他们的文档。
我尝试使用 OAuth 路由请求范围,当我将 chat:write:bot 添加到范围时,我收到一条错误消息
请求的权限无效
例子:
https://slack.com/oauth/v2/authorize?scope=chat:write:bot&client_id=1234&redire....
Run Code Online (Sandbox Code Playgroud)
看来我需要使用用户令牌来执行此操作,但是当我请求访问令牌时,我得到了一个机器人令牌。
有没有人曾经使用过 chat:write:bot 或任何以 结尾的范围:bot?还是我在这里遗漏了什么?
首先,在您的 slack 应用程序中选择您的应用程序,然后导航到“OAuth 和权限”页面。
然后,单击“范围”部分中的“更新范围”,向下滚动,按“继续”并添加chat:write到用户令牌范围。然后再次向下滚动并完成该过程。
为了获取用户令牌,请将user_scope参数添加到您的查询中,而不是scope使其看起来像这样https://slack.com/oauth/v2/authorize?user_scope=chat:write&redirect_uri=...。当您用代码交换访问令牌时,您将收到如下内容:
{
"ok": true,
"app_id": "A0KRD7HC3",
"team": {
"name": "Slack Softball Team",
"id": "T9TK3CUKW"
},
"authed_user": {
"id": "U1234",
"scope": "chat:write",
"access_token": "xoxp-1234",
"token_type": "user"
}
}
Run Code Online (Sandbox Code Playgroud)
请注意authed_user.access_token,因为这是您需要在授权标头中发送的令牌。
以下是 POST 正文的示例:
{
"channel": "Your channel id",
"as_user": true,
"text": "hi there",
"attachments": []
}
Run Code Online (Sandbox Code Playgroud)
希望对您有帮助。
| 归档时间: |
|
| 查看次数: |
2081 次 |
| 最近记录: |