DialogFlow "Webhook call failed. Error: UNKNOWN."

DialogFlow "Webhook call failed. Error: UNKNOWN."

我有一个使用 firebase 函数实现的 DialogFlow 设置。

我试图在 index.js 文件中向 .region() 添加两个区域。这导致我删除了现有的 firebase 函数(运行 on "us-central-1")并为新添加的区域添加了两个新函数。

这样做之后,我的对话流设置完全无法执行。相反,我得到 "Webhook call failed. Error: UNKNOWN" 没有其他细节。我尝试在我的 index.js 中删除 .region(),从而创建一个类似于原始函数的新 firebase 函数,但没有成功。

我也试过直接在内联编辑器中添加我的实现代码,但这也不起作用。

我在这里不知所措。有没有人遇到过类似的问题或者可能知道解决方法?请注意,在添加 .region() 和删除现有的 firebase 函数之前,设置工作完全正常。

注意:通过内联编辑器部署时出现奇怪的错误:"Permission 'cloudfunctions.functions.SetIamPolicy' denied on resource '(my resource)' (or resource may not exist)."

虽然您移动了函数的位置,但您没有提到您更改了 Dialogflow 中 webhook 的 URL 以反映这个新位置。 Firebase Cloud Functions 的 URL 包括函数运行的区域,因此如果您更改区域,您还需要更改 fulfillment URL.

关于以下错误:

Permission 'cloudfunctions.functions.SetIamPolicy' denied on resource '(my resource)' (or resource may not exist).

我在删除函数并尝试重新部署时也遇到了这个问题。

我发现当部署该功能的用户(即您)没有足够的权限来设置 IAM 策略时,就会发生这种情况。就我而言,该项目归另一个用户所有,而我的访问权限有限。在获得所有者访问权限后,虽然您可能只需要管理 IAM 的权限,但该功能部署没有任何错误。