动作现在没有响应错误

时间:2016-12-11 22:33:09

标签: actions-on-google

我在Google webhook(动作SDK)上部署了一个动作,我正在使用模拟器与它进行交互。但是,我收到错误消息:“操作:操作名称现在没有响应。请尽快重试。”我该如何解决这个问题?

这是我为产生此错误而采取的步骤。

部署webhook。我确认它可以公开访问,使用HTTPS,并且能够处理example request。它还设置Google-Assistant-API-Version响应标头。

将action.json指向可公开访问的webhook,然后预览操作:

gactions --verbose preview --action_package=action.json -invocation_name="action name"

启动模拟器:

gactions --verbose simulate

模拟互动:

Finished checking for updates -- no updates available
Reading credentials from: creds.data
User TTS (CTRL-C to stop): 
talk to action name
Sending POST request to: https://assistant.googleapis.com/v1/assistant:converse
Request body:
{
  "query": "talk to action name"
}

Response body:
{
  "response": "action name isn’t responding right now. Try again soon.\n",
  "audioResponse": "...",
  "debugInfo": {}
}

虽然该消息表明该操作没有响应,但我可以从我的webhook日志中看到它已成功响应HTTP状态代码200并且它生成的JSON响应与{{3}非常相似}。

如何调试此问题?

在旁注中,看起来我得到的实际请求与文档不完全匹配。以下是实际请求的示例:

{"user":{"user_id":"..."},"conversation":{"conversation_id":"...","type":1},"inputs":[{"intent":"assistant.intent.action.MAIN","raw_inputs":[{"input_type":2,"query":"talk to action name"}],"arguments":[]}]}

请注意conversation.type是整数,而不是String。此外,未提供conversation_token,因此,我生成的响应中的conversation_tokennull

1 个答案:

答案 0 :(得分:1)

您可以使用Web Simulator获取更多调试信息。按照上述相同步骤操作,但在使用gactions命令预览操作后,导航到Web Simulator并输入您在命令行模拟器中输入的相同文本。这将填写JSON响应中的debugInfo字段。