首页 > 解决方案 > 由于“誓言授权 url 不匹配”,在 Slack 中安装 Dialogflow 机器人失败

问题描述

我有一个简单的 Dialogflowbot,正在尝试与我的 Slack 工作区集成。

但是,机器人不会回复。DF 日志中的一切看起来都很好,但我在 Slack 中没有得到响应。以前,我可以通过单击“管理分发”选项卡下的“安装到 Slack”按钮来解决这种情况。但是,现在当我这样做(并允许安装)时,我收到以下错误消息:

While starting bot the error appears:
Bot start error: oauth_authorization_url_mismatch

从 Slack 文档中,我发现这意味着“OAuth 流程是在不正确的授权 url 版本上启动的。流程必须通过 /oauth/authorize 启动。” 但是,Dialogflow 提供的 OAuth URL 格式为bots.dialogflow.com/slack/<TOKEN>/start.

我有

但我什么也没找到。也许这里有人会遇到同样的问题会知道该怎么做?

标签: oauthdialogflow-esslack

解决方案


最近,Slack 团队通过向后不兼容的更改对 oauth 身份验证进行了更改。此更改破坏了与 Dialogflow 的集成。

幸运的是,旧功能尚未从 Slack 中完全删除。在我上面分享的链接(这里又是)中,在文档的底部有一个“创建经典的 Slack 应用程序”选项。如果单击它,您将能够创建一个“旧版”机器人并按照Dialogflow-Slack 集成指南使用;它会按预期工作。

需要注意的重要一点是,您将看到“更新范围”的选项。请注意不要进行此更新,因为这会将身份验证从经典方法更改为新方法,并且会破坏机器人。

最后,Dialogflow 团队已经知道这个问题,他们正在努力使集成与新的 Slack 身份验证兼容。您可以订阅该问题跟踪器(单击标题旁边的星号)并获取有关其进度的更新。


推荐阅读