Dialogflow Webhook 调用失败。错误:[ResourceName 错误] 路径 '' 与模板不匹配

时间:2021-01-31 19:33:26

标签: node.js google-cloud-platform dialogflow-es webhooks

我正在使用 Dialogflow ES,一旦我设置了 webhook,我就没有遇到任何问题。但是几个月后,我开始收到一个随机错误。它似乎不一致,因为有时我通过特定的网络电话获得它,而其他时候它工作正常。这是来自原始 API 响应:

  "webhookStatus": {
    "code": 3,
    "message": "Webhook call failed. Error: [ResourceName error] Path '' does not match template 'projects/{project_id=*}/locations/{location_id=*}/agent/environments/{environment_id=*}/users/{user_id=*}/sessions/{session_id=*}/contexts/{context_id=*}'.."
  }

Webhook 位于同一项目的 GCP 函数中。我在调用 webhook 的同一个代理中有一个简单的“ping”函数。这可以正常工作并 ping 函数,在函数日志中记录一些注释(所以我知道正在调用该函数),并返回一个很好的响应,所以我知道 webhook 已连接并在同一代理中为其他意图工作,然后在我收到上述错误后。

同一代理程序中的其他意图有效(并且这个意图有效),但我现在收到此错误。我也尝试重新创建意图,但我得到了相同的行为。

该项目与结算帐户相关联,我一直在为此付费,因此我认为这与试用或其他方式无关。虽然 Dialogflow 本身处于“试用”阶段,但链接的 webhook 功能是收费的。

在哪里可以找到此错误的含义或在哪里可以解决它?

1 个答案:

答案 0 :(得分:0)

在用新鲜的眼光看这个之后,我发现了发生了什么。 问题是格式错误的输出上下文。我有时会返回错误的输出上下文(这解释了为什么有时它起作用而有时不起作用)。具体来说,我将参数直接返回到输出上下文中,而没有输出上下文“名称”或“参数”。一切看起来都在工作,我没有收到任何其他错误,但显然,当 Dialogflow 收到错误的 Web 响应时,它会生成上面无用的错误。

相关问题