我在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_token
是null
。