是否不再可以对 Slack 应用程序使用 chat:write:bot 范围

tot*_*ooo 2 slack-api

我希望我的应用程序使用和参数连接chat.postMessage到 Slack,以便我有时更改显示的图标和名称。icon_emojiusername

从该方法的文档来看,我似乎必须设置as_user为 false。但是当我这样做时,我收到了 Missing_scope 错误:我需要范围 chat:write:bot。(无论我使用 OAuth 访问令牌还是 OAuth 机器人用户访问令牌,都会出现相同的错误)

但从这个页面我得知它们正在消失?那么我想使用的参数(icon_emoji 和用户名)也会消失吗?

Mik*_*ron 5

不可以,自 2019 年 12 月 19 日起,您不能使用icon_emoji


我遇到了同样的问题,所以我向 Slack 开了一张支持票。经过几条来回消息后,我确认这可能是一个错误:

在您的帮助下,我能够复制该问题。我怀疑这是一个错误,但我已将其上报给 Granular Bot Token 团队寻求第二意见。一旦我有更多细节,我会立即通知您。

编辑:

我收到了另一条更新,我已将其精简为要点:

在构建 Granular Bot Token 模型时,我们的团队确实希望以此为契机,慢慢弃用某些 API 行为。as_user 参数就是其中之一。请参阅( https://api.slack.com/authentication/quickstart )的以下评论。

一个值得注意的效果是:chat.postMessage 和其他 chat.* 方法不再与 as_user 参数混淆。您被授予单个 chat:write 范围(不附加 :user 或 :bot)。如果您使用机器人令牌调用 chat.postMessage 方法,您将以机器人身份发帖。如果您通过新的安装流程获得了用户令牌,并且使用您的用户令牌调用该方法,则您将作为用户发布。

因此,对于您想要采取的行动,恐怕用 Granular Bot Token 是不可能的。我们还认识到,所引发的错误对开发人员来说完全没有帮助且令人困惑。为此,我们创建了一个错误来修复 Granular Bot 令牌尝试进行受限 API 调用时返回的错误。

我要求澄清是只是as_user被弃用的部分,还是整个icon_emoji部分也被弃用。

编辑 2(美国东部时间 2019 年 12 月 19 日 13:38):

第一个(可能是最终的)更新:

应用程序通过 API 更改用户名、头像和图标等信息的选项也存在争议。目前,使用 Granular Bot 令牌,您只能通过 API 管理页面更新该信息。

这确实很不幸。