首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >错误“空语音响应”

错误“空语音响应”
EN

Stack Overflow用户
提问于 2018-01-27 04:28:48
回答 6查看 9.1K关注 0票数 6

我试图将DialogFlow操作连接到Google上,所以我创建了一些意图,连接了服务,添加了显式调用和隐式调用等等,但是当我在模拟器https://console.actions.google.com/project/[projectId]/simulator/中尝试bot时,总是会出现错误:

“未能将对话框流响应解析为AppResponse,异常由消息引发:空语音响应

即使是强硬的inputType也是“键盘”。

到目前为止我尝试过的是:

不幸的是,文档对此错误只字未提。有什么想法吗?

这里是操作集成错误的屏幕截图:

这是完整的调试输出:

代码语言:javascript
复制
{
  "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。我花了很长时间才弄明白

“缺少自定义意图的查询模式”

意思-所以我只是在这里文档:在对话流-意图-“用户说,”你必须双击文本输入字段中的一个词,当你想把它设置为查询参数-这似乎是谷歌上的行动所必需的。

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2018-01-30 14:14:02

谷歌支持的行动帮助我解决了这个问题:

我需要添加一个文本作为对用于显式调用的意图的默认响应。

票数 -5
EN

Stack Overflow用户

发布于 2018-08-20 20:49:50

这事发生在我身上。如果这种情况发生在您刚刚添加到对话框中的意图中,并且您使用Web钩子实现操作,请检查该意图的实现设置,并确保Web钩子实现滑块是开着的。显然,新的意图并不能自动实现web钩子:您必须以零敲碎打的方式选择每一个(或者至少,这是我的经验)。

票数 9
EN

Stack Overflow用户

发布于 2019-03-04 13:51:29

我也经历过这种情况。我的问题是,我在实现index.js时使用了一个index.js,而没有引用它。因此,对我来说,解决方案是在index.js中添加这样的index.js:

代码语言:javascript
复制
const {dialogflow, SimpleResponse} = require('actions-on-google');

因此,请始终检查是否没有在js文件中包含任何依赖项。可能不是问题最常见的原因,但也可能是。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48472614

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档