嗨,当我尝试测试我的测试应用时,它会停止并显示
My test app isn't responding right now. Try again soon。
当我检查验证错误标签时,我发现我收到此错误
MalformedResponse 'final_response' must be set.
这是调试信息:
<code>
{
"audioResponse": "//NExAAQMQ...",
"conversationToken": "GidzaW11bG...",
"debugInfo": {
"agentToAssistantDebug": {
"agentToAssistantJson": "{}"
},
"assistantToAgentDebug": {
"assistantToAgentJson": "{\"user\":{\"userId\":\"ABwppHG7Kyq6lQuC4UQhVkNFxGJ3HlCPVLe03G5Jo9UUsXcg41z8LL0ppX3pIv36nDLcvJD8YNxQexCrqoywTg\",\"locale\":\"en-US\",\"lastSeen\":\"2018-02-09T08:05:38Z\",\"userStorage\":\"{\\\"data\\\":{}}\"},\"conversation\":{\"conversationId\":\"1518164534381\",\"type\":\"NEW\"},\"inputs\":[{\"intent\":\"actions.intent.MAIN\",\"rawInputs\":[{\"inputType\":\"KEYBOARD\",\"query\":\"Talk to my test app\"}]}],\"surface\":{\"capabilities\":[{\"name\":\"actions.capability.SCREEN_OUTPUT\"},{\"name\":\"actions.capability.AUDIO_OUTPUT\"},{\"name\":\"actions.capability.WEB_BROWSER\"},{\"name\":\"actions.capability.MEDIA_RESPONSE_AUDIO\"}]},\"isInSandbox\":true,\"availableSurfaces\":[{\"capabilities\":[{\"name\":\"actions.capability.SCREEN_OUTPUT\"},{\"name\":\"actions.capability.AUDIO_OUTPUT\"}]}]}",
"curlCommand": "curl -v 'https://api.api.ai/api/integrations/google?token=e4092e2db85b4744be7d736861988a51' -H 'Content-Type: application/json;charset=UTF-8' -H 'Google-Actions-API-Version: 2' -H 'Authorization: eyJhbGciOiJSUzI1NiIsImtpZCI6ImJhNGRlZDdmNWE5MjQyOWYyMzM1NjFhMzZmZjYxM2VkMzg3NjJjM2QifQ.eyJhdWQiOiJyZXN0YXVyYW50LTRhYzMzIiwiYXpwIjoiMzk3NjQzMDYwNTkyLWlydW9ubHFzZ2cyZm81cnM1OXIwcGpkYTBxMjVsZjZsLmFwcHMuZ29vZ2xldXNlcmNvbnRlbnQuY29tIiwiZXhwIjoxNTE4MTY0NjU0LCJpc3MiOiJodHRwczovL2FjY291bnRzLmdvb2dsZS5jb20iLCJqdGkiOiI0NzVhMDU5OTllMzc4ODA0MmE5YTlhYjFkZmQ0YWU0MzA2Y2MzNTA3IiwiaWF0IjoxNTE4MTY0NTM0LCJuYmYiOjE1MTgxNjQyMzR9.GZ3NrlfYPAx5egtOYDktY9W-6P776_eLsth7tvyK-q7vytHdbMOcL4Pkq27g4pcWL8VRJkPv_3VL-QA2uAPaVm1m0F2H3qfYHqQtZmBgxgICSiwKCpyUnV1KkQWlD5O6MRW1VVZFXMqk2n2_w1U_8MCXH3z1nIB_G9MHLUD3mTomvM1W_SoyIx6xhvDJKVHN42pu28Ahj_BJEilazK6q91OhtY3hbcGjB5xAYnVP6Soh_N4qSvlrPV3J5-L8pKu0sArlspukGLKb_ijNKZiEgxsire2WCs85-5GbB-mKPXGnOuPY7mE168b2Xw37us-5V0sZ1y7Qtod7nH85A1kHaA' -A 'Mozilla/5.0 (compatible; Google-Cloud-Functions/2.1; +http://www.google.com/bot.html)' -X POST -d '{\"user\":{\"userId\":\"ABwppHG7Kyq6lQuC4UQhVkNFxGJ3HlCPVLe03G5Jo9UUsXcg41z8LL0ppX3pIv36nDLcvJD8YNxQexCrqoywTg\",\"locale\":\"en-US\",\"lastSeen\":\"2018-02-09T08:05:38Z\",\"userStorage\":\"{\\\"data\\\":{}}\"},\"conversation\":{\"conversationId\":\"1518164534381\",\"type\":\"NEW\"},\"inputs\":[{\"intent\":\"actions.intent.MAIN\",\"rawInputs\":[{\"inputType\":\"KEYBOARD\",\"query\":\"Talk to my test app\"}]}],\"surface\":{\"capabilities\":[{\"name\":\"actions.capability.SCREEN_OUTPUT\"},{\"name\":\"actions.capability.AUDIO_OUTPUT\"},{\"name\":\"actions.capability.WEB_BROWSER\"},{\"name\":\"actions.capability.MEDIA_RESPONSE_AUDIO\"}]},\"isInSandbox\":true,\"availableSurfaces\":[{\"capabilities\":[{\"name\":\"actions.capability.SCREEN_OUTPUT\"},{\"name\":\"actions.capability.AUDIO_OUTPUT\"}]}]}'"
},
"sharedDebugInfo": [
{
"name": "ResponseValidation",
"subDebugEntry": [
{
"debugInfo": "'final_response' must be set.",
"name": "MalformedResponse"
}
]
}
]
},
"response": "My test app isn't responding right now. Try again soon.",
"visualResponse": {
"visualElements": []
}
}
</code>
答案 0 :(得分:2)
可能像我一样犯了一个愚蠢的错误。
在index.js文件中,查看以下类似行:
app.intent('favourite color', (conv, {color}) => {
const luckyNumber = color.length;
在这种情况下,请确保您的意图名称与创建新意图时创建的意图完全相同。
注意:目的名称区分大小写。因此,请确保在此.js文件行中键入完全相同的名称。
答案 1 :(得分:1)
我有同样的问题,按照以下方式解决
我在firebase函数中添加了Intent处理程序,如下所示
app.intent('Default Welcome Intent', conv => {
conv.ask('Hi, I am in welcom intent.')
})
刷新模拟器窗口,我得到了正确的响应。
同样,您也可以找到错误原因并解决它。
答案 2 :(得分:0)
这个意图是否启用了webhook?
如果是,您是否在代码中捕获了这个意图
如果不是,你是否添加了对你意图的回应
这通常是要检查的前两件事
答案 3 :(得分:0)
我发现你在言语中需要一些东西。在响应中我找到了
&#39;由于空白而无法将Dialogflow响应解析为AppResponse 言语反应&#39;
我发现Media Object有效,但没有列表或轮播,因为他们没有语音选项。我也在努力解决这个问题。
如果Carousel列表有办法返回可能解决它的语音响应
答案 4 :(得分:0)
如果其他人遇到此问题,请尝试在“目标”下的“实现”中启用“为此目标启用webhook调用”。
答案 5 :(得分:0)
答案 6 :(得分:0)
检查您是否在Dialogflow中设置了多种语言,如果有不止一种语言,并且还没有添加翻译,则会显示该消息。