智能家居SYNC上报新设备时HomeGraph API返回404实体未找到问题求助
HomeGraph API 新增设备场景404错误排查思路
- 优先检查SYNC请求的响应逻辑:谷歌下发SYNC请求后,你返回的响应必须包含用户名下所有设备(包括新增设备)的完整元数据,谷歌会将该响应里的设备信息同步到HomeGraph,后续调用
ReportStateAndNotification上报状态才会生效。如果SYNC响应漏传新增设备、或者字段格式不符合规范,谷歌不会将新设备录入HomeGraph,直接上报状态就会触发notFound错误。修改设备名称时设备已在HomeGraph中存在,因此不会触发报错。 - 确认新增设备后是否触发了正确的同步流程:如果是用户在自有应用新增设备后主动触发同步,需要先调用
RequestSync接口告知谷歌发起全量SYNC请求,等谷歌侧完成设备元数据同步后再上报状态,不要在设备元数据未同步前直接上报状态。 - 核对
AgentUserId参数一致性:调用ReportStateAndNotification时传入的googleCustomerId(对应接口的AgentUserId字段),必须和SYNC响应返回的agentUserId、账号绑定时使用的用户标识完全一致,如果新增设备场景下该参数传值错误,也会导致找不到对应实体。 - 核对设备ID一致性:上报状态时用的设备ID,必须和SYNC响应里返回的对应设备ID完全匹配,不能有空格、大小写差异或者格式错误,否则会被判定为不存在的设备。
- 新增调试日志打印两类场景的请求参数:分别打印新增设备场景和修改设备名称场景下,SYNC响应的完整内容、
ReportStateAndNotification接口的入参,对比两类场景的参数差异即可快速定位问题点。
内容的提问来源于stack exchange,提问作者Rick
相关产品推荐
相关产品推荐

