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

Can I figure out who installed a Slack App?

我希望能够在用户安装该应用程序时向他们发送直接消息,但我似乎无法找到一种方法来判断那是谁。查看 Slack 的 OAuth 文档,似乎根本没有包含此信息,只有团队名称及其 ID。关于如何获得个人用户有什么想法吗?

相关文档如下:https://api.slack.com/docs/oauth.

谢谢!

您可以使用 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 或作为您应用程序一部分的机器人用户向用户发送直接消息。

编辑:这仅适用于 xoxp 令牌

当您使用 oauth.v2.access API 调用将临时代码交换为访问令牌时,响应 json 中有 authed_user 字段。此字段包含安装该应用程序的用户的用户 ID。使用此用户 ID,您可以向用户打开直接消息通道并在其中发送消息。