我在应用程序中使用了Slack Web API。用户可以做的功能之一就是直接从应用程序创建频道。我想向用户展示一些内容,这些用户没有权限在Slack中创建频道。但是我不明白如何从API获得这种松弛权限。
答案 0 :(得分:0)
允许我在Slack中阐明两个概念:
除了需要正确的Oauth范围(例如channels.create
的channels:write
)之外,创建通道的权限也是工作区的管理员设置。
应用程序的权限既取决于其范围,也取决于安装了该应用程序的用户的权限。但不是使用您应用的用户,例如通过斜杠命令。
因此,您可以使用您的应用请求正确的作用域,但您的安装用户可能无权创建频道。不幸的是,没有API方法可以告诉您用户是否有权在特定的工作空间上创建频道。
但是至少您可以向用户显示适当的错误消息。如果用户缺少权限,channels.create将返回错误restricted_action
。
答案 1 :(得分:-1)
您必须执行所谓的“ Oauth”。实际上,您打了Slack的Oauth API,然后说:“我有这个用户。”他们验证用户是他们说的使用Slack凭证的用户。如果他们的信誉行得通,Slack向您发送令牌。该令牌持续X倍的时间。通常,您存储它并在Slack说它过时时将其转储。文件如下。
https://api.slack.com/docs/oauth
Oauth用于使用第三方API,但是它也可以用于较小的应用程序,从而无需存储个人可识别信息(PII)和密码即可识别其用户。从本质上讲,您可以将其放置在Facebook或Google或Slack上,因为它对您来说更安全,工作量更少。