我试图将DialogFlow和操作连接到Google上,所以我创建了一些意图,连接了服务,添加了显式调用和隐式调用等等,但是当我在模拟器https://console.actions.google.com/project/[projectId]/simulator/中尝试bot时,总是会出现错误:
“未能将对话框流响应解析为AppResponse,异常由消息引发:空语音响应”
即使是强硬的inputType也是“键盘”。
到目前为止我尝试过的是:
不幸的是,文档对此错误只字未提。有什么想法吗?
这里是操作集成错误的屏幕截图:

这是完整的调试输出:
{
"agentToAssistantDebug": {
"agentToAssistantJson": {
"message": "Failed to parse Dialogflow response into AppResponse, exception thrown with message: Empty speech response",
"apiResponse": {
"id": "c12e1389-e887-49d4-b399-a332188ca946",
"timestamp": "2018-01-27T03:55:30.931Z",
"lang": "en-us",
"result": {},
"status": {
"code": 200,
"errorType": "success"
},
"sessionId": "1517025330705"
}
}
},
"assistantToAgentDebug": {
"assistantToAgentJson": {
"user": {
"userId": "USER_ID",
"locale": "en-US",
"lastSeen": "2018-01-27T03:55:03Z"
},
"conversation": {
"conversationId": "1517025330705",
"type": "NEW"
},
"inputs": [
{
"intent": "actions.intent.MAIN",
"rawInputs": [
{
"inputType": "KEYBOARD",
"query": "Talk to Mica, the Hipster Cat Bot"
}
]
}
],
"surface": {
"capabilities": [
{
"name": "actions.capability.MEDIA_RESPONSE_AUDIO"
},
{
"name": "actions.capability.WEB_BROWSER"
},
{
"name": "actions.capability.AUDIO_OUTPUT"
},
{
"name": "actions.capability.SCREEN_OUTPUT"
}
]
},
"isInSandbox": true,
"availableSurfaces": [
{
"capabilities": [
{
"name": "actions.capability.AUDIO_OUTPUT"
},
{
"name": "actions.capability.SCREEN_OUTPUT"
}
]
}
]
},
"curlCommand": "curl -v 'https://api.api.ai/api/integrations/google?token=TOKEN' -H 'Content-Type: application/json;charset=UTF-8' -H 'Google-Actions-API-Version: 2' -H 'Authorization: AUTH_TOKEN' -A 'Mozilla/5.0 (compatible; Google-Cloud-Functions/2.1; +http://www.google.com/bot.html)' -X POST -d '{\"user\":{\"userId\":\"USER_ID\",\"locale\":\"en-US\",\"lastSeen\":\"2018-01-27T03:55:03Z\"},\"conversation\":{\"conversationId\":\"1517025330705\",\"type\":\"NEW\"},\"inputs\":[{\"intent\":\"actions.intent.MAIN\",\"rawInputs\":[{\"inputType\":\"KEYBOARD\",\"query\":\"Talk to Mica, the Hipster Cat Bot\"}]}],\"surface\":{\"capabilities\":[{\"name\":\"actions.capability.MEDIA_RESPONSE_AUDIO\"},{\"name\":\"actions.capability.WEB_BROWSER\"},{\"name\":\"actions.capability.AUDIO_OUTPUT\"},{\"name\":\"actions.capability.SCREEN_OUTPUT\"}]},\"isInSandbox\":true,\"availableSurfaces\":[{\"capabilities\":[{\"name\":\"actions.capability.AUDIO_OUTPUT\"},{\"name\":\"actions.capability.SCREEN_OUTPUT\"}]}]}'"
},
"sharedDebugInfo": [
{
"name": "ResponseValidation",
"subDebugEntry": [
{
"debugInfo": "API Version 2: Failed to parse JSON response string with 'INVALID_ARGUMENT' error: \": Cannot find field.\".",
"name": "UnparseableJsonResponse"
}
]
}
]
}此外,"debugInfo“听起来也是一个内部问题:
"API 2:未能解析带有'INVALID_ARGUMENT‘错误的JSON响应字符串:\":找不到字段.\“。
这里是欢迎意图的截图:

ps。我花了很长时间才弄明白
“缺少自定义意图的查询模式”
意思-所以我只是在这里文档:在对话流-意图-“用户说,”你必须双击文本输入字段中的一个词,当你想把它设置为查询参数-这似乎是谷歌上的行动所必需的。
发布于 2018-01-30 14:14:02
谷歌支持的行动帮助我解决了这个问题:
我需要添加一个文本作为对用于显式调用的意图的默认响应。
发布于 2018-08-20 20:49:50
这事发生在我身上。如果这种情况发生在您刚刚添加到对话框中的意图中,并且您使用Web钩子实现操作,请检查该意图的实现设置,并确保Web钩子实现滑块是开着的。显然,新的意图并不能自动实现web钩子:您必须以零敲碎打的方式选择每一个(或者至少,这是我的经验)。
发布于 2019-03-04 13:51:29
我也经历过这种情况。我的问题是,我在实现index.js时使用了一个index.js,而没有引用它。因此,对我来说,解决方案是在index.js中添加这样的index.js:
const {dialogflow, SimpleResponse} = require('actions-on-google');因此,请始终检查是否没有在js文件中包含任何依赖项。可能不是问题最常见的原因,但也可能是。
https://stackoverflow.com/questions/48472614
复制相似问题