我可以找出谁安装了 Slack 应用程序吗?


Can I figure out who installed a Slack App?

>我希望能够在用户安装应用程序时向他们发送直接消息,但我似乎找不到一种方法来判断那是谁。查看 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,您可以打开直接消息通道到用户并在其中发送消息。