我正在构建一个如下所示的Slack斜杠命令
/shoutout [@recipient with message]
这将触发具有发送者和接收者的用户ID的POST到我的服务器。但是,我需要他们的全名。我想向Slack API发送名称请求,这似乎可以通过使用用户ID对https://slack.com/api/users.info进行GET来实现。
我在了解如何执行此操作时遇到的问题与令牌要求有关。我知道如何使用我的工作区来执行此操作(只需将我的工作区的OAuth令牌作为请求的一部分发送),但是如何将其与安装我的应用程序的其他工作区一起使用?换句话说,如何为安装我的应用程序的其他工作区获取有效的OAuth令牌?我的处理方式不正确吗?
答案 0 :(得分:1)
您在正确的道路上。实际上,您的应用程序应该在每个Slack工作区上都需要一个单独的令牌。
要获取它,您的应用程序必须安装到每个工作区一次,并且您的应用程序需要捕获并存储将在安装过程中创建的令牌。安装过程是标准的Oauth2.0流程,通常由外部网站管理,该外部网站与Slack为工作区协商了OAuth流程。该网页通常有一个“添加到松弛”按钮,它将开始安装过程。
要实现这一点,您需要执行以下操作:
您需要创建一个Slack应用来获取客户端ID和客户端密码
在应用的管理页面上激活Slack应用的分发
创建一个处理Oauth流程的网页
这是Oauth flow的Slack的详细说明。
这是有关Slack Button的详细信息。
最后,这是一个example PHP script,用于将Slack应用安装到工作区。