Actions on google 谷歌智能家居行动回应;[服务]目前不可用“;行动成功完成后

Actions on google 谷歌智能家居行动回应;[服务]目前不可用“;行动成功完成后,actions-on-google,google-smart-home,Actions On Google,Google Smart Home,我的Google SmartHome操作在正确执行命令后发出错误消息“[Service]现在无法访问”。我的设备被正确地打开/关闭,但谷歌以这条恼人的消息结束 我从谷歌获得的信息: 我的回应是: 函数执行耗时2287毫秒,完成状态代码:200 接下来,我已经(异步)报告状态: 报告状态API返回成功的消息 我不知道谷歌为什么回来(即使行动成功执行)他们无法联系到我们的服务?多亏了@Devunwired:我忽略了谷歌助手的行动日志。在其中,它表示函数返回一个空的JSON响应。结果表明,

我的Google SmartHome操作在正确执行命令后发出错误消息“[Service]现在无法访问”。我的设备被正确地打开/关闭,但谷歌以这条恼人的消息结束

我从谷歌获得的信息:



我的回应是:


函数执行耗时2287毫秒,完成状态代码:200


接下来,我已经(异步)报告状态:



报告状态API返回成功的消息


我不知道谷歌为什么回来(即使行动成功执行)他们无法联系到我们的服务?

多亏了@Devunwired:我忽略了谷歌助手的行动日志。在其中,它表示函数返回一个空的JSON响应。结果表明,return语句过早地使用了1个括号,导致async函数返回空值。

您是否能够测试同一命令是否以英语返回成功的语音响应?这可能指向i18n问题。另外,我看到函数延迟超过2秒。如果你的云功能在500毫秒以下返回,你会看到同样的语音响应吗?用英语,我也有同样的问题。这2秒钟是因为OAuth令牌更新了。第二次执行该命令所花费的时间要少得多(虽然仍然超过500毫秒)——我正在运行Google Firebase函数,但它会进入后端(在另一个云中运行),然后进入客户端设备并返回——显然往返需要更多的时间。请求/响应将放在另一个注释中(否则此注释太长)。英文请求:
{“inputs”:[{“context”:{“locale_country”:“US”,“locale_language”:“en”},“intent”:“action.devices.EXECUTE”,“payload”:[{“commands”:[{“id”:“6”}],“execution”:[{“command”:“action.devices.commands.OnOff”,“params”:{“on”:true}]}],requestId:“15729577386919011522”}
和响应:
{“requestId:“15729577386919011522”,“payload:{“commands:[{”ids:[“6”],“status:“SUCCESS”,“states:{”on:“true”,“online:”true}}}}}
然后是谷歌的一行:
函数执行耗时765毫秒,状态代码为200
谢谢检查。在与这些请求ID对应的项目StackDriver日志中是否看到任何错误?嗨,没有,日志中没有任何错误。请参见屏幕截图:
{"inputs":[{"context":{"locale_country":"NL","locale_language":"nl"},"intent":"action.devices.EXECUTE","payload":{"commands":[{"devices":[{"id":"6"}],"execution":[{"command":"action.devices.commands.OnOff","params":{"on":true}}]}]}}],"requestId":"1389468583286354563"}
{"requestId":"1389468583286354563","payload":{"commands":[{"ids":["6"],"status":"SUCCESS","states":{"on":true,"online":true}}]}}
{"requestId":"1389468583286354563","agentUserId":"f0524769-7ffb-4ae4-8cec-5d67e6f6aa92","payload":{"devices":{"states":{"6":{"on":true,"online":true}}}}}