已发布Google HA Action账号自动解绑,设备离线无响应求助
以下是可能导致该问题的核心原因:
OAuth令牌生命周期配置错误
如果返回的access_token有效期过短(比如仅几秒),或者未正确请求offline_access范围导致无法获取refresh_token,Google在尝试刷新令牌失败后会自动解除账号关联。需检查OAuth响应中的expires_in参数是否合理,确认授权流程中已包含offline_accessscope,同时验证服务器端处理令牌刷新请求的逻辑是否正常。SYNC接口异常或响应不符合规范
账号关联成功后,Google会立即调用SYNC接口拉取设备列表。若SYNC接口返回非200状态码(如500、401),或响应格式不符合Google Home Action规范(比如设备ID格式错误、缺少必填的设备类型/指令支持字段),Google会判定设备不可用,触发自动解绑。需检查服务器是否收到SYNC请求,核对响应结构是否严格遵循Google的官方规范。令牌校验逻辑错误
虽然OAuth流程显示成功,但后续Google调用SYNC、QUERY等接口时,服务器端对传入的access_token校验失败(比如签名验证错误、令牌解析逻辑bug),导致Google收到错误响应后判定关联无效,进而解绑账号。需排查服务器端令牌校验代码,确保能正确验证Google传递的令牌有效性。Action控制台OAuth配置不匹配
Google Action控制台中配置的OAuth客户端ID/密钥与服务器端不一致,或者授权范围(scopes)未包含必要权限(如https://www.googleapis.com/auth/homegraph),会导致Google后续验证令牌时不认可关联关系,触发解绑。需核对控制台与服务器的OAuth配置参数,确保scopes覆盖所需权限。Home Graph API配置缺失
未在Google Cloud控制台启用Home Graph API,或关联的服务账号缺少Home Graph Viewer/Home Graph Editor权限,会导致Google无法同步设备状态,进而判定设备离线并解绑账号。需检查Cloud控制台中Home Graph API的启用状态,以及服务账号的权限配置。网络访问限制
服务器防火墙或网络策略阻止了Google Home服务的IP请求,或服务器无公网可达性,导致Google无法发起SYNC、QUERY等后续请求,最终判定设备离线并解绑。需检查服务器防火墙规则,确保允许Google相关IP段访问,可通过临时暴露公网地址测试请求可达性。
内容的提问来源于stack exchange,提问作者JSNerd01

