如何通过Slack API检索和使用“ trigger_id”?

时间:2018-12-20 09:15:19

标签: c# slack-api

我想让我的SlackApp使用以下方法成为可能:

apps.permissions.request

此方法要求属性“ trigger_id”与请求一起发送。 因此,我在Slack API的文档中进行了查找。它说我可以从三件事中收到trigger_id

  • 斜杠命令执行
  • 消息按钮点击
  • 消息菜单选择

问题是,所有这三种方法都需要一个可发送答案的URL-我需要为此使用服务器,这是不可能的!

除了trigger_id之外,没有其他方法可以更直接地接收apps.permissions.request或为我的应用设置/请求新范围的方法-除了在该应用程序的菜单?

1 个答案:

答案 0 :(得分:0)

触发器ID

不。您的应用获取有效触发器ID的唯一方法是您提到的方法。所有这些都要求您的应用程序能够接收来自Slack的请求。因此,大多数Slack应用程序都在Web服务器上/云中运行,因此它们可以充分使用这些功能。

工作区应用

方法apps.permissions.request是一种称为“工作区应用程序”的新型应用程序的一部分,它需要一种特殊的令牌,即“工作区令牌”。

请注意,Slack宣布将不再开发工作区应用程序,现在将其视为旧版。所有相关方法仅保证在2019年10月之前都可以使用,我一般不建议使用它们。有关工作区应用程序的更多信息,请参见文章Legacy: Workspace appsAn Update on Workspace Apps

以编程方式更改范围

您不能使用常规的Slack应用程序以编程方式更改应用程序的范围。

但是还有另一种方法可以解决您的问题:

您的应用可以在OAuth流程中以编程方式请求为Slack应用定义的所有范围的子集。因此,例如,如果您的应用程序配置为使用范围A,B,C,则一个用户只能请求具有范围A的令牌。另一个可以请求仅具有范围B,C等的令牌。