javascript - 如何使用 Bolt for JavaScript(Node.JS) 获取 Slack 机器人的当前用户电子邮件地址
问题描述
就上下文而言,我正在使用 Bolt for JavaScript 框架来开发 Slack 机器人。我有一个工作区,我是唯一的成员。
在应用程序主页中,我需要检索当前用户的电子邮件地址,但我不知道该怎么做。
用户的 WebAPI 方法,例如 users.profile.get 和 users.identity,需要用户令牌,我想我需要获取当前用户的用户令牌。
关于如何从后端检索用户令牌的任何想法?建议将不胜感激。
解决方案
我建议使用机器人令牌而不是用户令牌来调用users.info
(https://api.slack.com/methods/users.info)。您需要请求users:read
和users:read.email
范围,以便在 API 调用中返回电子邮件。当您在 Workspace 上安装您的应用程序时,您的机器人令牌将出现在您的 Developer Config 站点 ( https://api.slack.com/apps ) 的 OAuth & Permissions 页面中。您的应用程序应该正在监听该app_home_opened
事件。当用户打开 App Home 时,user_id
将在事件负载中返回。然后,您可以使用它user_id
来调用users.info
并获取用户电子邮件。
推荐阅读
- java - 多角色安全配置 Spring MVC + Thymeleaf
- pact - 使用 pact-stub-server 在 api 路径上添加术语匹配器时响应为 404
- c++ - std::is_member_function_pointer 不适用于 noexcept 成员函数
- javascript - 给定元素的特定索引,如何替换数组中的元素?
- android - Kotlin:如何将子数组减少为单个数组?
- reactjs - 根据表格内容动态设置列宽
- safari - 如何为 302 重定向的 url 启用 Safari 浏览器缓存
- java - Java 到 Arduino 的通信不同步 - 跳跃运动
- python - NameError: [class] 未定义
- c - 如何返回字符指针?