模拟器错误 UnparseableJsonResponse(“找不到字段。”)

2023-12-11

我已在 DialogFlow 控制台中使用 webhook 成功测试了应用程序的前几个意图,但在模拟器中进行测试时出现以下错误:

UnparseableJsonResponse API 版本 2:无法解析 JSON 响应 带有“INVALID_ARGUMENT”错误的字符串:“:找不到字段。”。

注意! 首先要注意的是它指的是“API Version 2”。

没有请求到达我的 webhook - 所以看来这一切都在 Google 内部。

使用 Chrome 开发者工具,我看到获取此错误响应的网络条目 - 下面是一些详细信息:

从模拟器请求 url:.....

注意! (注意它说“v1”)

请求有效负载:

{"conversationToken":"","debugLevel":1,"inputType":"KEYBOARD","locale":"en-US","mockLocation":{"city":"Mountain View","coordinates":{"latitude":37.421980615353675,"longitude":-122.08419799804688},"formattedAddress":"Googleplex, Mountain View, CA 94043, United States","zipCode":"94043"},"query":"Talk to ","surface":"PHONE"}

回复:

{
    "response": "Connect the docs isn't responding right now. Try again soon.",
    "conversationToken": "GidzaW11bGF0b3JfZGV2aWNlXzM3MTQxRERFM0I0Nzk1Q0ZfMDAwMDA=",
    "audioResponse": "//NExAAR... encoded audio ...",
    "debugInfo": {
        "assistantToAgentDebug": {
            "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: ...authorization key...' -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\":\"2017-12-15T17:22:55Z\"},\"conversation\":{\"conversationId\":\"1513778713541\",\"type\":\"NEW\"},\"inputs\":[{\"intent\":\"actions.intent.MAIN\",\"rawInputs\":[{\"inputType\":\"KEYBOARD\",\"query\":\"Talk to Connect The Docs\"}]}],\"surface\":{\"capabilities\":[{\"name\":\"actions.capability.AUDIO_OUTPUT\"},{\"name\":\"actions.capability.SCREEN_OUTPUT\"}]},\"isInSandbox\":true,\"availableSurfaces\":[{\"capabilities\":[{\"name\":\"actions.capability.AUDIO_OUTPUT\"},{\"name\":\"actions.capability.SCREEN_OUTPUT\"}]}]}'",
            "assistantToAgentJson": "{\"user\":{\"userId\":\"...user id...\",\"locale\":\"en-US\",\"lastSeen\":\"2017-12-15T17:22:55Z\"},\"conversation\":{\"conversationId\":\"1513778713541\",\"type\":\"NEW\"},\"inputs\":[{\"intent\":\"actions.intent.MAIN\",\"rawInputs\":[{\"inputType\":\"KEYBOARD\",\"query\":\"Talk to Connect The Docs\"}]}],\"surface\":{\"capabilities\":[{\"name\":\"actions.capability.AUDIO_OUTPUT\"},{\"name\":\"actions.capability.SCREEN_OUTPUT\"}]},\"isInSandbox\":true,\"availableSurfaces\":[{\"capabilities\":[{\"name\":\"actions.capability.AUDIO_OUTPUT\"},{\"name\":\"actions.capability.SCREEN_OUTPUT\"}]}]}"
        },
        "agentToAssistantDebug": {
            "agentToAssistantJson": "{\"message\":\"Unexpected apiai response format: Empty speech response\",\"apiResponse\":{\"id\":\"24ddbf1c-3930-40c6-ba50-03c0935cd1d0\",\"timestamp\":\"2017-12-20T14:05:13.766Z\",\"lang\":\"en-us\",\"result\":{},\"status\":{\"code\":200,\"errorType\":\"success\"},\"sessionId\":\"1513778713541\"}}"
        },
        "sharedDebugInfo": [{
            "name": "ResponseValidation",
            "subDebugEntry": [{
                "name": "UnparseableJsonResponse",
                "debugInfo": "API Version 2: Failed to parse JSON response string with 'INVALID_ARGUMENT' error: \": Cannot find field.\"."
            }]
        }]
    },
    "visualResponse": {}
}

Google 支持人员通知我,我确实使用的是 V2 版本 - 我于 2017 年 12 月启动了此操作 - 距 2017 年 5 月“截止日期”很久之后,V2 应该是默认版本。

这是谷歌的错误吗?我是否错过了一些设定我意图的事情?或者是否有其他设置可能导致此问题?

我看到 DialogFlow 论坛中的其他帖子也显示了同样的问题。

任何帮助表示赞赏。

2018 年 1 月 9 日添加: 调试选项卡的内容:

{
  "agentToAssistantDebug": {
    "agentToAssistantJson": {
      "message": "Unexpected apiai response format: Empty speech response",
      "apiResponse": {
        "id": "64a900d2-23e8-4833-b9de-0b207f63bffc",
        "timestamp": "2018-01-08T21:08:36.821Z",
        "lang": "en-us",
        "result": {},
        "status": {
          "code": 200,
          "errorType": "success"
        },
        "sessionId": "1515445716570"
      }
    }
  },
  "assistantToAgentDebug": {
    "assistantToAgentJson": {
      "user": {
        "userId": "ABwppHFGoTJm5fKpau6WWwufKQE5UwkebooowZF7YhvD7PPY-hUfxU2_KRpB0LLNcLPyXasbXnRxXT6fniKk",
        "locale": "en-US",
        "lastSeen": "2018-01-05T15:53:11Z"
      },
      "conversation": {
        "conversationId": "1515445716570",
        "type": "NEW"
      },
      "inputs": [
        {
          "intent": "actions.intent.MAIN",
          "rawInputs": [
            {
              "inputType": "VOICE",
              "query": "talk to connect the docs"
            }
          ]
        }
      ],
      "surface": {
        "capabilities": [
          {
            "name": "actions.capability.AUDIO_OUTPUT"
          },
          {
            "name": "actions.capability.SCREEN_OUTPUT"
          },
          {
            "name": "actions.capability.WEB_BROWSER"
          }
        ]
      },
      "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=0ffc8bcf72704850a4b4139d49a8d72e' -H 'Content-Type: application/json;charset=UTF-8' -H 'Google-Actions-API-Version: 2' -H 'Authorization: eyJhbGciOiJSUzI1NiIsImtpZCI6IjBhYTQ1NDFlNGM4ZWVhODQ0NjhmZTYxYTkzZmIxYzA2MzJkYjVhMGYifQ.eyJhdWQiOiJhY3RpdmUtZG9jdW1lbnQiLCJpc3MiOiJodHRwczovL2FjY291bnRzLmdvb2dsZS5jb20iLCJqdGkiOiIwY2U2OTdlNmE3NGFiZmVmZTdiYzhmMGU2ZGJlMzEyMDFjOWU3MzA5IiwiaWF0IjoxNTE1NDQ1NzE2LCJleHAiOjE1MTU0NDU4MzYsIm5iZiI6MTUxNTQ0NTQxNn0.hZNpVrH4o8ObGIvZ7BQV44nymekTWR_K4_jsDKCzgj74z57IDyUXNGEZs6KUFxBM_2FXiSoOxJUQZ1OhDRpkpQ6L4LELYN_JDhly7kgy-SLgKgLG6FZ4YV-8qOgr9Uxmr9SsG6NSXdiG7HvTrHLXIwA8K2siBNGGDWAIB691gAC8qsjsq4d3VnHMTeqlJ6mDoOtZ2xdLnJbK5B-OK-rLHEhX6K1-Z7rXQL3OgSwUtRVvYfHI3jqY83Xn3-uf06izkQhwVqH-W6X1REltrlxFTPW2h72D-st-QQ9euIpK3fn0x-z3ouQ17g-rGrPjKcOop9FejtKMT1tibxSkQ7qywQ'  -A 'Mozilla/5.0 (compatible; Google-Cloud-Functions/2.1; +http://www.google.com/bot.html)' -X POST -d '{\"user\":{\"userId\":\"ABwppHFGoTJm5fKpau6WWwufKQE5UwkebooowZF7YhvD7PPY-hUfxU2_KRpB0LLNcLPyXasbXnRxXT6fniKk\",\"locale\":\"en-US\",\"lastSeen\":\"2018-01-05T15:53:11Z\"},\"conversation\":{\"conversationId\":\"1515445716570\",\"type\":\"NEW\"},\"inputs\":[{\"intent\":\"actions.intent.MAIN\",\"rawInputs\":[{\"inputType\":\"VOICE\",\"query\":\"talk to connect the docs\"}]}],\"surface\":{\"capabilities\":[{\"name\":\"actions.capability.AUDIO_OUTPUT\"},{\"name\":\"actions.capability.SCREEN_OUTPUT\"},{\"name\":\"actions.capability.WEB_BROWSER\"}]},\"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"
        }
      ]
    }
  ]
}

验证错误选项卡的内容: 无法解析的JsonResponse API 版本 2:无法解析 JSON 响应字符串 “INVALID_ARGUMENT”错误:“:找不到字段。”。

Screenshot of welcome intent added 1/10/2018: welcome intent screenshot part 1 welcome intent part 2


问题是两件事的结合:

  1. 没有设置文字回复Response部分。

  2. 当 Intent 被触发时,它不会被发送到 webhook。

因此,Dialogflow 回复助手时没有任何文本响应,这是一个错误。

您可以通过确保您的欢迎意图执行以下操作之一来纠正此问题(您不必同时执行两者):

  1. 设置一条或多条文字回复。当 Intent 被调用时,这些将被发回。

  2. 检查使用网络钩子框下履行。当 Intent 被触发时,这将调用您的 webhook。 (然后确保您的 webhook 返回有效的响应。)

正如您在评论中推测的那样,您还可以将欢迎意图更改为您已经测试过响应的其他意图之一。这一特定的欢迎意图没有什么特别之处 - 它只是默认为您创建的。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

模拟器错误 UnparseableJsonResponse(“找不到字段。”) 的相关文章

  • 如何让会话实体作为 Dialogflow 检测意图的一部分

    我有一个实体 应该使用特定于用户的信息在每个会话的基础上进行更新 当我使用 Dialogflow v1 时 这有效 我认为它也适用于 v2 但我现在遇到了严重的问题 我相信我正确设置了会话实体信息 但对于使用它的意图 它仅在使用开发人员实体
  • Google 操作模拟器不适用于标准 Google Assistant 功能

    我已经使用 Actions on Google 2 5 0 和dialogflow fulfillment 0 6 1 Node js 库构建了一个操作 我无法在对话框流测试控制台上测试我的应用程序 因为我返回那里不支持的 conv 对象
  • 更改 actions-on-google websimulation 的语言或用德语测试 google home

    我正在通过 api ai 使用 google 上的操作 我能够用英语以外的语言创建 api ai 机器人 但是 actions on google 的网络模拟器 https developers google com actions too
  • 我可以在不使用语音命令的情况下从其他应用程序启动 Google Home 上的操作吗?

    我不确定这是否已经可能 我可以让另一个应用程序向 Google Home 发起操作 而不是让人通过与其对话来发起操作吗 例如 我想让 Smartthings IFTTT 要求 Google Home 播放一些内容 下面几个案例 情况 1 如
  • 具有多个 actions_intent_OPTION 处理程序的 Google Assistant 流程

    我通过 Dialogflow 配置了 webhooks模板聊天机器人 UI 入门项目 https github com ianrichard common chatbot ui starter project我正在 Github 上制作 我
  • 无法在 Google 操作中使用隐式/授权流程来授权用户

    我正在尝试链接到该帐户 这是我的谷歌云功能 var AuthHandler function this googleSignIn googleSignIn this googleSignInCallback googleSignInCall
  • 如何重置参数值以便代理可以再次请求参数?

    我创建了一个对话流代理和其中的多个意图 其中一种意图需要 2 个参数 账户和余额类型 然后 它发送 Webhook 请求 其中写入代码以检查数据库中是否存在帐号 如果是的话 它会获取余额并发回给用户 现在 如果帐号不存在 我必须要求用户再次
  • Java POS 开发入门

    我有一个要求 需要从 Java Swing 应用程序连接到 POS 打印机 我了解到有一个名为 Java POS 的标准可以实现这一目标 现在问题出在java POS网站上 http www javapos com http www jav
  • DialogFlow 隐式调用

    我希望获得有关如何使用对话流来缩短从操作获取信息的过程的指导 例如 我想提供以下命令 Ok Google 询问我的测试应用程序美国的首都是什么 不过 目前我需要说的是 好的 Google 打开我的测试应用程序 然后 我需要等待回复 然后才能
  • iOS 6.0.1 模拟器

    我已经安装了XCode 4 5 2 它只有 6 0 的模拟器 我想要 iOS 6 0 1 iPad 模拟器 有人可以帮助我如何获得 6 0 1 版本吗 我检查了 mac 应用商店的更新 它是最新的 XCode 如果我安装 Xcode 4 6
  • Actions on Google 上的帐户取消关联

    我正在 Google 上开发一项操作 要求用户使用我的服务登录 我以前可以实施帐户关联 https developers google com actions develop identity account linking 效果很好 我能
  • Dialogflow 中“意图”和“操作”之间的关系是什么?

    我在概念化 Dialogflow 代理中的 意图 和 操作 之间的关系时遇到了一些麻烦 我了解到意图将用户的口头请求映射到我的履行服务的特定功能 并可选择携带参数作为输入变量 这就是意图的定义方式官方文档 https dialogflow
  • 从实时数据库获取 json 数据到 Dialogflow 内联编辑器(谷歌助手)

    编程初学者 我正在利用空闲时间从事一个与 Google Assistant 相关的项目 这是我第一次使用 Firebase 实时数据库 不知道如何从那里获取数据 代码下面是 Dialogflow 的内联编辑器中的内容 其中的类别 1 2 和
  • DialogflowApp AskForUpdatePermission 不起作用

    1 askForUpdatePermission 未找到意图 我遵循了更新示例Github dialogflow updates nodejs https github com actions on google dialogflow up
  • 对话流 v2 api 中的 app.setContext() ?

    v2 API 中 v1 中的对话流 app setContext 的等效项是什么 考虑到迁移指南概述的设置 如下 例如 当下面的演示代码中触发欢迎意图时 您会进行什么调用来设置上下文 v2 const functions require f
  • 如何使用 gcloud 凭据对 Dialogflow API 进行身份验证

    我有一个 Node JS 应用程序 可以向 Dialogflow 代理发出请求 我实际上使用基于临时令牌的请求 但是我如何更改它以通过谷歌服务凭证来做到这一点 https cloud google com docs authenticati
  • 以编程方式检测应用程序是否正在设备或模拟器上运行

    我想知道我的应用程序在运行时是在设备还是模拟器上运行 有没有办法检测到这一点 原因是用模拟器测试蓝牙 api http volcore limbicsoft com 2009 09 iphone os 31 gamekit pt 1 woo
  • 如何使用 Dialogflow 回复用户的姓名?

    我想知道如何回复用户的姓名 例如 AppName 你好 请问你的名字吗 User 我的名字是约翰 AppName 欢迎约翰来到 appname 我想在没有网络钩子或实现的情况下执行此操作 我只想做对话流 如果您想在其他意图中使用它并以此上下
  • Dialogflow Fulfillment Webhook 调用失败

    I am new to dialogflow fulfillment and I am trying to retrieve news from news API based on user questions I followed doc
  • Alexa - 包罗万象

    我有一个插入后端和 DialogFlow ApiAI 的聊天机器人 我正在尝试在 Alexa 中设置一项技能 以便我可以捕获与我的技能相关的所有内容 然后将其转发到我的后端 以便我可以使用现有的基础设施和 convo 设计 我一直在努力与

随机推荐

  • 根据相关的 id 列表对集合重新排序

    我有一个对象集合 无序 id属性 以及 有序 列表ids id列表未排序 我想在我的集合中创建一个对象列表 根据 id 列表进行排序 我在 Guava 或 Apache Commons 中没有看到这种方法 但这正是我正在寻找的 一个具有良好
  • 迭代解析 JSON 文件

    我有 1000 多个 JSON 文件 看起来像 name Some name part num 123456 other config Large amount of objects some more Large amount of ob
  • iOS UIPopoverController 透明度/alpha

    我正在制作一个 iPad 应用程序 客户想要一个具有透明度 alpha 的弹出概览 他们给了我一个示例应用程序 可以找到屏幕截图here 我读过 UIPopoverController 是最难定制的东西 因为只有几个属性需要设置 LINK
  • MySQL TimeDiff 排除周末

    我一直在 MySQL 表上使用 TimeDiff 来获取两个字段 均为日期时间格式 之间的差异 这是我正在使用的查询 它也将持续时间限制为仅今年 SELECT username CONCAT FLOOR SUM HOUR TIMEDIFF
  • 如何在Struts 2中显示图像?

    我需要检索数据库中的行 并将图像保存在字节数组中 如何使用Strut2显示图像 我已经使用自定义结果显示了它 我传递了 id 并在数据库中对其进行了操作搜索 我的问题是如何多次调用它 我有一个检索所有行的操作 如何从列表操作中调用显示图像操
  • SQLAlchemy 中的 REGEXP_LIKE

    任何人都知道我如何在 SQLAlchemy 中使用 REGEXP LIKE 的等效项 例如 我希望能够执行以下操作 sa Session query sa Table filter sa Table field like regex to
  • 为什么在没有类型转换的情况下复合文字赋值不起作用

    我有一个关于 C 语言文字的问题 int a a is an integer that is assigned an integer literal 414 a 414 float b b is a float that is assign
  • 使用 broom 包整理地图时保留区域名称

    我正在使用栅格包中的 getData 函数来检索阿根廷地图 我想使用 ggplot2 绘制生成的地图 因此我使用 broom 包中的 tidy 函数转换为数据框 这工作正常 但我不知道如何保留联邦地区的名称 以便我可以在地图上使用它们 这是
  • 导入旧的 ES5 模块以在 ReactJS 组件中使用

    我正在尝试在新的 ReactJS 应用程序中使用 ES5 模块 并且我正在努力理解如何正确导入该模块 以便可以找到并执行其中的主要函数 我正在加载模块 import air datepicker 我知道我在这里做错了 而且对于一个没有适当导
  • Python 并排带有颜色的 matplotlib 箱线图

    我按照这个例子link关于如何创建带有颜色的箱线图 我一直在尝试不同的方法来将这些箱线图分开在两个不同的位置 而不是让它们重叠 但无济于事 如果我为它们指定不同的位置 它们将保持在 bp2 位置 如何将这两个箱线图并排放置 import m
  • 如何在同一个消费者组中运行两个控制台消费者?

    当我运行两个具有完全相同属性的 Kafka console consumers 实例 使用默认的 config consumer properties 时 我在两个实例上收到相同的消息 bin kafka console consumer
  • 使用 VBA 将 url 发送到活动 IE 窗口

    我正在使用 VBA 并在 Excel 中创建宏以向 IE 浏览器窗口发送信息或从 IE 浏览器窗口发送信息 我一直在使用 AppActivate 来关注某个 IE 页面 使用它的标题 效果很好 使用 SendKeys 将信息发送回浏览器并没
  • 如何使用 jquery if else 语句切换类?

    我想使用 jquery If Else 语句针对指定条件切换类 我的 Html 带有默认 cssclass horizontal div class my item horizontal div 现在我怎样才能在之间洗牌我的CSS类hori
  • Phonegap:安装适用于 iOS 的 BarcodeScanner 时出错

    当我尝试安装 iOS 版 BarcodeScanner 插件时 plugman install platform ios project Users amarruffo Documents Projects phonegap barcode
  • 如何在ggplot中标记堆叠直方图

    我正在尝试将相应的标签添加到直方图中条形图中的颜色 这是一个可重现的代码 ggplot aes displ data mpg geom histogram aes fill class binwidth 1 col black 此代码给出了
  • 无法使用“-”破折号访问 JSON 属性 [重复]

    这个问题在这里已经有答案了 当字符串具有破折号字符时 我无法从 json 对象检索值 profile id 1234 user id 6789 如果我尝试引用解析的jsonObj profile id它返回ReferenceError id
  • ASP.Net Core 3 远程证书在 MacO 上无效

    当我尝试使用 Identityserver4 调用 API 方法时 我之前在 Windows 上尝试过 但它仅在 Mac OS 中工作正常 我遇到了这个问题 我不知道发生了什么以及如何解决它 我可以访问 https localhost 60
  • C 中布尔表达式的返回值

    由于不值得一提的原因 我想知道布尔表达式是否有标准定义值 例如 int foo return bar gt 5 背景是我担心我们的团队将 TRUE 定义为与 1 不同的东西 并且我担心有人可能会这样做 if foo TRUE do stuf
  • ggplot2根据数据值填充颜色

    我希望能够根据数据框中存储的值设置 ggplot 填充颜色 下面的代码 几乎 是我想要做的 除了我不只是使用 fill MyColor 我希望代码实际使用 MyColor 字段中的 RRGGBB 十六进制值 df data frame An
  • 模拟器错误 UnparseableJsonResponse(“找不到字段。”)

    我已在 DialogFlow 控制台中使用 webhook 成功测试了应用程序的前几个意图 但在模拟器中进行测试时出现以下错误 UnparseableJsonResponse API 版本 2 无法解析 JSON 响应 带有 INVALID