Slack App安装中的环境变量?

时间:2019-02-28 21:24:34

标签: slack slack-api

在Slack App安装期间是否存在环境变量的概念?

这是一个虚构的用例。

假设我们在3个地区设有一家公司。有一个REST API可通过以下端点在区域内搜索员工:

GET https://us.cars.com/findemployee
GET https://uk.cars.com/findemployee
GET https://it.cars.com/findemployee

假设我们开发了具有Slash Command功能的Slack应用来搜索员工,例如:

/findemployee

当用户在其工作区中安装Slack App时,用户是否可以选择自己所属的区域?然后以某种方式将其存储为Slack App安装中的环境变量。这样,当用户执行斜杠命令/findemployee时,它将调用相应的REST API URL。

例如,如果用户在安装过程中选择了uk区域,则斜杠命令/findemployee将向GET https://uk.cars.com/findemployee发送请求。

谢谢。

1 个答案:

答案 0 :(得分:2)

是的。应用程序安装过程完全由您的应用程序控制,应用程序代码在您自己的(虚拟)服务器上运行(而不是由Slack运行)。因此,您当然可以根据需要使用环境变量。

但是,从应用程序设计的角度来看,我建议将这类信息存储在数据库中,例如通过为数据库中的每个工作区都有一个对象。然后,该对象将包含为特定工作空间(或用户)选择的区域。

一旦用户发出斜杠命令,Slack就会向您的应用发送请求,其中包含有关当前用户和工作空间的所有信息。然后,您的应用可以根据该输入决定调用正确的API,例如每个地区。