【问题标题】:How to get the current user email address for Slack bot using Bolt for JavaScript(Node.JS)如何使用 Bolt for JavaScript(Node.JS) 获取 Slack 机器人的当前用户电子邮件地址
【发布时间】:2021-10-16 08:40:19
【问题描述】:

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

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

WebAPI methods for users比如users.profile.get和users.identity,需要用户token,我想我需要获取当前用户的用户token。

关于如何从后端检索用户令牌的任何想法?建议将不胜感激。

【问题讨论】:

  • 欢迎 S. Thomas,如果我们能看到您尝试过的一些代码,会更容易提供帮助。链接到 Bolt 文档以及您正在解决问题的确切部分也会有所帮助。您在谈论的这个令牌是什么,它来自哪里以及它的文档在哪里?等等。

标签: javascript node.js slack slack-api bolt


【解决方案1】:

我建议使用机器人令牌而不是用户令牌来调用 users.info (https://api.slack.com/methods/users.info)。您需要请求 users:readusers:read.email 范围,以便在 API 调用中返回电子邮件。当您在 Workspace 上安装您的应用程序时,您的机器人令牌将出现在您的 Developer Config 站点 (https://api.slack.com/apps) 的 OAuth & Permissions 页面中。您的应用程序应该正在监听 app_home_opened 事件。当用户打开 App Home 时,user_id 将在事件负载中返回。然后,您可以使用该user_id 致电users.info 并获取用户电子邮件。

【讨论】:

  • 非常感谢桑德拉!我刚开始学习如何使用 Slack API,并没有考虑使用 app_home_opened 事件来检索用户 ID。我能够将用户 ID 保存在全局局部变量中,以使用我的命令处理程序函数。再次感谢您的帮助。
猜你喜欢
  • 1970-01-01
  • 2018-12-13
  • 1970-01-01
  • 2017-09-09
  • 2020-08-17
  • 2011-06-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多