我有一个标准Dialogflow代理,使用javascript / node.js webhooks。在大多数情况下,它运行良好。我最近遇到了一个让我完全不知所措的问题。我目前正在conv.data
中保存一些JSON对象,以最小化Webhook必须进行的外部API调用。对于一个使用node-fetch从外部API获取的特定JSON对象,我从我这边发送的响应看起来非常普通。我使用firebase,并且firebase日志不显示任何错误消息或任何可能存在问题的迹象。但是我在Google Actions控制台中收到此错误:
[UnparseableJsonResponse API版本2:无法解析带有'INVALID_ARGUMENT'错误的JSON响应字符串:“解析在输入结束前终止。8,\\” 3 \\“:12},\\” w ^“。
并且在stackdriver日志中,收到的响应不是以通常的开头
收到来自主体的代理的响应:HTTP / 1.1 200 OK服务器:...等等
相反,它从外部API-JSON文件的中间开始
收到来自主体的代理的响应:8,\\“ 3 \\”:12},\\“ winPercentage \\”:1392}}}},...等
[从外部API提取JSON后,代理第一次响应时不会发生这种情况。代理在获取JSON之后第二次响应时,无论该第二次调用是否使用了JSON信息,如果在第一次调用与第二次调用之间覆盖了JSON文件,则无论什么都except,一切都会崩溃。如果文件被覆盖,程序将正常运行。因此,问题很可能是存储和/或解析此特定JSON文件的一部分。不幸的是,我在此应用程序中使用的API并不是公开的,由于NDA,我无法对该JSON进行任何访问,因此我知道您可能无法帮助我。但是,我将尽可能提供有关JSON的信息,并希望做到最好:
我非常感谢我可能会收到的所有帮助,即使这只是我需要提出的问题,或者接下来我可能在哪里尝试进行故障排除。
我有一个标准Dialogflow代理,使用javascript / node.js webhooks。在大多数情况下,它运行良好。我最近遇到了一个让我完全不知所措的问题。我目前是...
[我怀疑问题是您要保存的JSON大于它们为conv.data
分配的缓冲区大小,尽管我找不到任何文档说明存在某些特定限制。