如何使用 Bolt for JavaScript(Node.JS) 获取 Slack 机器人的当前用户电子邮件地址

S. *_*mas 3 javascript node.js slack-api slack bolt

作为上下文,我使用 Bolt for JavaScript 框架来开发 Slack 机器人。我有一个工作区,我是唯一的成员。

在应用程序主页中,我需要检索当前用户的电子邮件地址,但我不知道该怎么做。

用户的WebAPI方法,例如users.profile.get和users.identity,需要用户令牌,我想我需要获取当前用户的用户令牌。

关于如何从后端检索用户令牌有什么想法吗?如有建议,我们将不胜感激。

san*_*dra 7

我建议使用机器人令牌来调用users.infohttps://api.slack.com/methods/users.info),而不是用户令牌。您需要请求users:readusers:read.email范围,以便在 API 调用中返回电子邮件。当您在工作区上安装应用程序时,您的机器人令牌将显示在开发人员配置站点 ( https://api.slack.com/apps ) 的 OAuth 和权限页面中。您的应用程序应该正在侦听该app_home_opened事件。当用户打开应用程序主页时,user_id将在事件负载中返回。然后您可以使用它user_id来呼叫users.info并获取用户电子邮件。