我希望我的应用使用chat.postMessage
和icon_emoji
参数username
到Slack,以便有时更改显示的图标和名称。
从方法的the doc看来,我必须将as_user
设置为false。但是,当我这样做时,我遇到了missing_scope错误:我需要范围chat:write:bot。 (无论我使用OAuth访问令牌还是OAuth漫游器用户访问令牌都出现相同的错误)
但是从this page中我知道它们正在消失吗?那么我要使用的参数(icon_emoji和用户名)也会消失吗?
答案 0 :(得分:2)
icon_emoji
等我遇到了同样的问题,所以我用Slack开了一张支持票。在来回几条消息之后,我确认这可能是一个错误:
在您的帮助下,我得以重现了该问题。我怀疑这是一个错误,但我已将其升级给Granular Bot Token团队以征求第二意见。一旦我有更多详细信息,我会告诉您。
编辑:
我收到了另一个更新,已对要点进行了精简:
在构建Granular Bot令牌模型时,我们的团队确实希望以此为契机慢慢弃用某些API行为。 as_user参数是其中之一。请参阅({https://api.slack.com/authentication/quickstart)中的以下注释。
一个值得注意的效果:chat.postMessage和其他chat。*方法不再与as_user参数混为一谈。您被授予一个单独的chat:write范围(不附加:user或:bot)。如果使用bot令牌调用chat.postMessage方法,则以bot身份发布。如果您通过新的安装流程获得了用户令牌,并且使用用户令牌调用了该方法,则您将以用户身份发布。
因此,关于您要执行的操作,恐怕使用Granular Bot Token不可能。我们还认识到,这种抛出的错误对于开发人员来说完全没有帮助并且令人困惑。为此,我们创建了一个错误,以修复Granular Bot令牌尝试进行受限API调用时返回的错误。
我已要求澄清是仅弃用as_user
部分还是icon_emoji
部分。
编辑2(2019年12月19日美国东部时间13:38):
可能是最终的一次更新:
应用程序通过API更改用户名,头像和图标等信息的选项也将引起争议。当前,使用Granular Bot令牌时,您只能通过API管理页面更新该信息。
真的很不幸。
答案 1 :(得分:0)
我必须在“ Bot Token Scopes”中添加一个范围,值为“ chat:write.customize”。
https://api.slack.com/scopes/chat:write.customize
然后我必须重新安装我的应用程序。它的工作符合我的预期。
注意:我尝试了此操作,因为这是评论的建议。但是它起作用了,所以我将其添加为答案。