actions-on-google - 谷歌主页操作同步不适用于有效的 json 响应
问题描述
我使用了google 的 json 验证器,它说我的 json 是有效的,但由于某种原因,google home control 仍然给我“无法更新设置,请检查您的连接”。如果我故意在我的服务器中抛出错误(如无效变量),谷歌主页日志实际上显示后端失败,但当我使用正确的 json 时没有报告错误。可能还有什么其他错误?
这是我的json结构:
{
"requestId": "xxxxxxxxxxx",
"payload": {
"agentUserId": "xxxxxxxx",
"devices": [{
"id": "xxxxxxxxx",
"type": "action.devices.types.AIRPURIFIER",
"traits": ["action.devices.traits.OnOff", "action.devices.traits.Toggles", "action.devices.traits.FanSpeed", "action.devices.traits.SensorState"],
"name": {
"defaultNames": ["air Purifier"],
"name": "Air Purifier",
"nicknames": ["Air Cleaner"]
},
"willReportState": true,
"attributes": {
"commandOnlyOnOff": false,
"availableFanSpeeds": {
"speeds": [{
"speed_name": "S1",
"speed_values": [{
"speed_synonym": ["low", "speed 1"],
"lang": "en"
}]
}, {
"speed_name": "S2",
"speed_values": [{
"speed_synonym": ["midlow", "speed 2"],
"lang": "en"
}]
}, {
"speed_name": "S3",
"speed_values": [{
"speed_synonym": ["mid", "speed 3"],
"lang": "en"
}]
}, {
"speed_name": "S4",
"speed_values": [{
"speed_synonym": ["midhigh", "speed 4"],
"lang": "en"
}]
}, {
"speed_name": "S5",
"speed_values": [{
"speed_synonym": ["high", "speed 5"],
"lang": "en"
}]
}],
"ordered": true
},
"reversible": false,
"availableToggles": [{
"name": "automatic",
"name_values": [{
"name_synonym": ["auto", "auto mode"],
"lang": "en"
}]
}],
"sensorStatesSupported": [{
"name": "AirQuality",
"descriptiveCapabilities": {
"availableStates": ["healthy", "moderate", "unhealthy"]
}
}]
},
"deviceInfo": {
"manufacturer": "Hyperian",
"model": "100",
"hwVersion": "1.0",
"swVersion": "1.0"
}
}]
}
}
解决方案
无法找到调试此类问题的有效方法。如果只有他们的云日志记录实际记录传入的 json,而不仅仅是错误。
我的错误与与 json 结构无关的事情有关。
推荐阅读
- sql - oracle中如何对多个表进行动态选择查询?使用表名和列名作为其他表的值?
- arduino - 通过 ESP8266 Webserver 控制 Arduino 引脚
- php - 无法将类型 ... 的 PHP 值转换为类型 ...。应为以下类型之一:null、DateTime
- c++ - 如何获得带有引号的句子?
- git - 弹出并重放一堆 git 提交
- vba - 根据货币乘以每个单元格
- karma-jasmine - 尽管在 fakeAsync 中刷新,但计时器仍在队列中
- sql - 有没有办法在 Oracle 19 中向 JSON 数组添加/附加值?
- c++ - 数学函数的不一致死码消除
- javascript - 如何将流从客户端上传并保存到 mp4 中的节点服务器