【问题标题】:Actions on Google responds with "Sorry, I didn't get any response."Actions on Google 回复“抱歉,我没有收到任何回复”。
【发布时间】:2017-09-08 14:04:48
【问题描述】:

我正在关注这个代码实验室Facts about You: Build a conversational app for the Google Assistant

我曾经让它工作过,但一定是做错了什么,因为现在全部了。为了 100% 清楚,我已经删除了我电脑上的所有内容,从 Git 下载了代码再次删除了操作控制台中的项目删除了 api.ai 中的项目。这是全新安装的结果。 我没有更改代码实验室的任何内容。

“抱歉,我没有收到任何回复。”

请求似乎正在正确发送

来自动作测试:

{
  "conversationToken": "CiZDIzU5Ym...",
  "debugLevel": 1,
  "inputType": "KEYBOARD",
  "locale": "en-US",
  "mockLocation": {
    "city": "Mountain View",
    "coordinates": {
      "latitude": 37.421980615353675,
      "longitude": -122.08419799804688
    },
    "formattedAddress": "Googleplex, Mountain View, CA 94043, United States",
    "zipCode": "94043"
  },
  "query": "tell me about cats",
  "surface": "GOOGLE_HOME"
}

在火基地接收

 [{"name":"actions.capability.AUDIO_OUTPUT"}]},"inputs":[{"rawInputs":[{"query":"tell me about cats","inputType":"VOICE"}],"arguments":[{"rawText":"tell me about cats","textValue":"tell me about cats","name":"text"}],"intent":"actions.intent.TEXT"}],"user":{"locale":"en-US","userId":"AETml1RzwqyijfbawqjZkRSXz-P1"},"device":{},"conversation":{"conversationId":"1504878811393","type":"ACTIVE","conversationToken":"[\"_actions_on_google_\",\"choose_fact-followup\"]"}}},"id":"3b97e239-346f-49a2-a106-96cfb6f69e92","timestamp":"2017-09-08T13:58:29.99Z","lang":"en","result":{"source":"agent","resolvedQuery":"tell me about cats","speech":"","action":"tell.cat.fact","actionIncomplete":false,"parameters":{},"contexts":[{"name":"_actions_on_google_","parameters":{"category.original":"headquarters","category":"headquarters","facts":{"content":{"headquarters":["Google has over 10 fitness facilities in its main campus."],"history":["Google was founded in 1998.","Google was founded by Larry Page and Sergey Brin.","Google went public in 2004.","Google has more than 70 offices in more than 40 countries."]}}},"lifespan":98},{"name":"actions_capability_audio_output","parameters":{},"lifespan":0},{"name":"google_assistant_input_type_voice","parameters":{},"lifespan":0},{"name":"choose_cats-followup","parameters":{},"lifespan":2}],"metadata":{"intentId":"14df3938-3776-477c-811c-d1758ecd15cb","webhookUsed":"true","webhookForSlotFillingUsed":"false","nluResponseTime":19,"intentName":"choose_cats"},"fulfillment":{"speech":"","messages":[{"type":0,"speech":""}]},"score":1},"status":{"code":200,"errorType":"success"},"sessionId":"1504878811393"}

响应返回到操作

{
  "audioResponse": "//NExAARAA...",
  "conversationToken": "CiZDIzU5Ym...",
  "expectUserResponse": true,
  "response": "Sorry, I didn't get any response.",
  "visualResponse": {
    "visualElements": []
  }
}

我一定错过了什么。 Firebase 正在接收请求,只是没有正确响应。

训练图像

【问题讨论】:

  • 在您的 API.AI 代理中,您在训练日志中看到了什么?
  • 图片上传到最后一张
  • 我遇到了同样的错误。我的应用程序已经生产了 1 个月,但从今天开始我看到了对不起,我没有得到任何回复。 @DalmTo 现在对你有用吗?
  • 我们在 Actions 平台中存在可能导致此问题的错误。我们正在测试一个修复程序,希望能尽快推出。
  • @LeonNicholls 现在开始工作了。

标签: firebase google-api actions-on-google


【解决方案1】:

如果您的网络挂钩未向助手提供响应,则会出现该错误。云端功能已触发或已超时,未将 JSON 返回给助手解析。查看云函数的输出是什么,并在此处与 API.AI web hook 格式进行检查https://developers.google.com/actions/reference/v1/apiai-webhook

它应该看起来像这样:

{
  "speech": "...",  // ASCII characters only
  "displayText": "...",
  "data": {
  "google": {
      "expect_user_response": true,
      "is_ssml": true,
      "permissions_request": {
         "opt_context": "...",
         "permissions": [
            "NAME",
            "DEVICE_COARSE_LOCATION",
            "DEVICE_PRECISE_LOCATION"
          ]
      }
    }
    },
   "contextOut": [...],
}

【讨论】:

  • 看到我正在关注 Google 的官方代码实验室,你 TA'ed 我会假设代码是正确的。我倾向于某种设置问题
【解决方案2】:

我认为这是 Google 的目的。我的应用程序已经在生产环境中运行了一个多星期。根据日志,直到 6 小时前一切都很好,但因为用户没有得到任何答复。 如果我在 API.AI 上请求,则响应是可以的,所以这不是导致问题的 firebase/fullfillment。

检查了其他应用程序有些有同样的问题有些根本没有问题。不确定我们可以在这里做什么。

【讨论】:

  • 如果是这样的话我要哭了
  • 有趣的是,我的其他一些操作也以同样的方式响应,所以我想说这可能是谷歌的结果。
  • 对我来说,它在大约 12 小时后自行修复,所以它在 Google 方面。
【解决方案3】:

此类错误通常是由您更新后的 Firebase 函数中的语法错误或其他问题引起的。有一些很好的方法可以诊断这样的问题:

  1. 检查 Firebase 函数日志。如果有错误,几乎肯定会出现在这里。

    您可以从命令行使用firebase functions:log 查看最新的日志消息。您还可以使用控制台查看日志,方法是转到 console.firebase.com,选择项目,选择 Functions,然后选择 Logs 选项卡。

  2. 如果没有错误,则更多的是逻辑问题。通过console.log()console.info()console.error() 添加您自己的日志

  3. 很多时候,当您认为到那时您正在返回东西时,日志会指示函数在 60 秒后超时。确保您正在完成所有回调并调用 assistant.ask()assistant.tell()(或他们的表亲之一)以确保他们被调用。

【讨论】:

  • 正如我提到的,firebase 中没有错误,因为响应是返回的。在 google 测试应用上的操作中调试是 ""textToSpeech": "好的,这是总部的事实。谷歌在其主校区拥有 30 多家自助餐厅。你想听听另一个事实吗?"" 请记住这是纯代码实验室,我没有更新它或对 Google 的代码实验室进行任何更改
  • Firebase 说:“函数执行耗时 113 毫秒,完成状态码:200”所以它没有超时,200 是成功码
【解决方案4】:

Google+ actions group 上发布问题后。我收到了Google 的回复。

Actions 错误 Actions 平台中当前存在一个错误,即 运行您的应用程序时可能会导致意外的错误消息。

我们目前正在测试修复并希望尽快推出。

截至 10 分钟前,它又开始工作了。代码一直都是正确的。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-08-27
    • 2020-02-25
    • 2018-12-06
    • 1970-01-01
    • 1970-01-01
    • 2017-12-10
    • 1970-01-01
    • 2012-10-25
    相关资源
    最近更新 更多