2016-12-11 90 views
3

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

这些是我用来产生此错误的步骤。

部署webhook。我证实它是公开访问的,使用HTTPS,并且能够处理example request。它还设置了Google-Assistant-API-Version响应标头。

点action.json到可公开访问的网络挂接,然后预览动作:

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响应看起来与example responses非常相似。

可以做些什么来调试这个问题?

在一个侧面说明,它看起来像我得到的实际要求不完全符合文件。下面是一个实际的请求的示例:

{"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是一个整数,而不是字符串。另外,没有提供conversation_token,因此,我生成的响应中的conversation_tokennull

回答

1

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

相关问题