最近,我突然开始看到诸如“未能将对话框响应解析为AppResponse : null”之类的错误,这些错误发生在以前工作正常的Google/Dialogflow项目上。
即使是现在,这个错误似乎是断断续续的,尽管我的Firebase函数(实现Web钩子)的响应是相同的,但仍然会发生。换句话说,有时我会得到上面的错误,而另一些时候它会工作,但是在这两种情况下,我的Firebase函数的响应是相同的。
举个例子,这里有一个响应,有时,但并不总是会导致我前面提到的错误:
{“状态”:200,“标题”:{“内容类型”:“应用程序/json;charset=utf-8“},"body":{”"type.googleapis.com/google.actions.v2.OptionValueSpec",“:{ "google":{ "expectUserResponse":true,"systemIntent":{”意图“:"actions.intent.OPTION","data":{ "@type":actions.intent.OPTION "listSelect":{”listSelect“:”请选择一个选项:“,“项目”:[{ "optionInfo":{“键”:“是”、“同义词”:[“去”、“我们走”、“我们走”、“开始”、“是”、“我准备好了”、“开始调查”、“开始”、"1“、”一“}、”描述“:”开始一个新的日记条目“、”标题“:"1.我们走”}{ "optionInfo":{“键”:“停止”,“同义词”:[“不”,“不要继续”,“不谢”,“停止”,“停止调查”,"2",“2”] },“描述”:“不要做新的日记条目”,“标题”:"1.停止“}} },"richResponse":{“项目”:{ "simpleResponse":{ "textToSpeech":“嗨”。很高兴有你在这里,我们期待着讨论你给你的baby.Let我们知道的食物和饮料,每次你给他们吃的东西或者你准备好开始吃的drink.When,说,"displayText":“嗨。”\n每次你给他们吃或喝的东西时,都让我们知道。N \n当您准备开始时,请选择“} }”、"userStorage":"{\"data\":{\"userId\":\"bb46f3f9-e522-2da0-7b3c-302a615d28e4\",\“unicomId”:\“danone2 2”}}
因此,在Firebase日志中,我可以看到在所有情况下都会返回上面的内容,但有时Google日志会失败,Google日志会显示“未能将对话框响应解析为AppResponse : null”错误,以及其他情况下,使用Firebase返回的相同JSON,它可以很好地工作。
我有点不知所措,不知该往哪里看,如果有人有什么指点,我会非常感激的,谢谢!
发布于 2019-08-07 12:06:25
为了结束这个问题--原来这是我的错,JSON的响应被错误地构造了(“同义词”一式两份[和])。我相信Dialogflow突然将此标记为一个错误,而之前它更加宽容。无论如何,修复JSON响应已经修复了这个问题。
发布于 2019-07-16 04:13:59
我也有同样的问题。在我的例子中,我的响应json中的systemIntent是空的,它导致了这个错误。它以前运作得很好,但最近失败了。我希望它能帮到别人。
https://stackoverflow.com/questions/56650589
复制相似问题