>我希望能够在用户安装应用程序时向他们发送直接消息,但我似乎找不到一种方法来判断那是谁。查看 Slack 的 OAuth 文档,这些信息似乎根本没有包括在内,只包含团队的名称及其 ID。关于如何获得个人用户的任何想法?
以下是相关文档:https://api.slack.com/docs/oauth。
谢谢!
过时
编辑:这是一个过时的答案,适用于xoxp令牌,但不适用于现代xoxb/bot令牌,您在为Slack构建应用程序时最有可能使用它。请查看下面的@s0urcer答案以获取最新答案
您可以使用access token
调用 auth.test 方法。安装应用的用户的user_id
将在响应中显示:
{"ok": true,
"url": "https:'/'/myteam.slack.com'/",
"team": "My Team",
"user": "cal",
"team_id": "T12345",
"user_id": "U12345"}
然后,您可以使用 user_id
作为 chat.postMessage 函数中的频道参数向此用户发送消息.
这将通过 Slackbot 或通过作为应用一部分的机器人用户向用户发送直接消息。
当您使用 oauth.v2.access API 调用将临时代码交换为访问令牌时,响应 json 中authed_user
字段。此字段包含安装应用的用户的用户 ID。使用此用户 ID,您可以打开直接消息通道到用户并在其中发送消息。