【问题标题】:What is the min permissions needed for slack app that listens to all messages and can edit message侦听所有消息并可以编辑消息的松弛应用程序所需的最低权限是多少
【发布时间】:2019-07-23 18:12:32
【问题描述】:

该应用程序相当简单,它会监听所有消息,如果消息中存在keyword,它会在该消息中添加一个附件。我希望这适用于所有领域(组、频道、dm、线程等)

我正在使用 slacks 事件回调系统将所有消息设置为端点。

我正在收听这些事件

message.channels
message.groups
message.im
message.mpim

而我配置的权限范围是

chat:write:user
channels:history
groups:history
im:history
mpim:history
commands

但是 Slack 拒绝了该应用程序

感谢您重新提交!但是,在查看之后,您的应用程序似乎需要访问授权用户的整个消息历史记录( *:history 范围)。除此之外,为了让应用程序发挥最佳效果,它需要工作区中的所有用户进行授权,从而可能让您的应用程序访问工作区的整个消息历史记录。在审查了您的应用程序的功能后,我们得出的结论是,您的应用程序没有提供必要的功能来证明这种访问级别的合理性。

Slack 确实建议我使用机器人用户,但如果可能的话,我最好避免这种情况。

如果没有上述权限/范围,我是否能够实现阅读和编辑消息的能力?

【问题讨论】:

    标签: javascript bots slack slack-api


    【解决方案1】:

    我猜您想使用chat.update 将附件添加到现有邮件中。问题是这种方法只适用于你自己发布的消息。因此,如果您向应用程序的机器人用户发布消息,您可以稍后使用该方法更改消息 - 类似于您在发布后在 Slack 上更改自己的消息的方式。

    来自官方文档:

    只有经过身份验证的用户发布的消息才能更新 使用这种方法。这包括常规聊天消息,以及 包含 me_message 子类型的消息。机器人用户也可以更新 他们发布的消息。

    为了更改来自其他用户的消息,工作区中的每个用户都需要授予您的应用代表他/她执行操作的权限。在实践中,这意味着工作区的每个用户都需要安装您的应用程序一次 - 从而授予应用程序一个用户令牌,然后它可以与 chat.update 一起使用。

    此外,管理员需要为该工作区激活编辑功能。

    这是唯一的方法。没有全局权限可以授予您应用程序的完全访问权限。由于 Slack 严格的安全架构,没有全局管理员权限,因此即使是工作区的所有者也不能编辑来自其他人的消息。

    顺便说一句。您也看不到来自其他用户的私人频道和直接消息频道,因此您的应用不会收到来自这些频道的消息,除非它已通过所有用户的身份验证。

    从安全角度来看,我可以理解为什么 Slack 团队会遇到您的应用程序出现问题。此外,我怀疑许多工作区管理员出于安全考虑会允许安装您的应用程序。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-08-18
      • 1970-01-01
      • 1970-01-01
      • 2017-07-16
      • 1970-01-01
      • 1970-01-01
      • 2021-01-17
      • 1970-01-01
      相关资源
      最近更新 更多