错误响应
问题描述:
我无法理解的JSON错误的语法 我曾尝试错误响应
return {
"requestId": self.request_id,
"payload": {
"commands": [{
"ids": [self.device_id],
"status": "OFFLINE",
"errorCode": "deviceTurnedOff"
}]
}
}
和
return {
"requestId": self.request_id,
"payload": {
"errorCode": "authFailure",
"commands": [{
"devices": [{
"ids": [self.device_id],
"status": "ERROR",
"errorCode": "deviceTurnedOff"
}]
}]
}
}
和
return {
"requestId": self.request_id,
"payload": {
"errorCode": self.error_code
}
}
以上的语法都不起作用,大多数时候谷歌家庭都表示你的行为已经完成,但是我很重要Json在那里出现错误。
我已阅读谷歌行动文件,但未能理解。
答
我已经想出了几个有效载荷,并在咨询the docs后成功地使用AoG模拟器成功触发了错误。
Node.js的片段:
let resBody = {
requestId: request.requestId,
payload: {
"errorCode": "notSupported"
}
}
response.status(200).json(resBody);
您确保requestId
是智能家居的要求一样吗?你如何测试这些错误?
是的!请求ID是相同的,我已经尝试过这个错误响应json语法,不工作。我也在咨询文档,但它没有工作,即使在2天谷歌家庭没有给我回应“关闭device_name”,今天它给了我的回应,我没有改变任何代码。 – Umair
您使用什么框架来返回这些JSON消息?它看起来不像Node JS。你的'return'对象是否被正在使用的任何更高级别的函数正确处理? –
我正在使用python(无框架) 谷歌首页 - > AWS API网关 - > AWS lambda 如果这是一个问题,剩下的技能将无法正常工作。我正在创建Google Home Smart Skill(** Thermostat **)。 我可以改变温度,开启/关闭,改变模式,增加/减少温度 一切工作正常,除了错误响应。我的意思是,如果装置离线我正在返回 '{ “的requestId”: “相同请求中找到”, “有效载荷”:{ “的errorCode”: “deviceTurnedOff” } }' 我已经测试JSON响应与**邮差**也与其定义文档 – Umair