自定义Google Home Action需频繁重连才能正常运行的相关问题咨询
测试状态Action规则说明
- 测试状态的Google Home Action没有官方设定的过期限制,个人自用完全符合谷歌平台使用规则,不需要提交发布。只要你不主动删除Actions Console内的对应项目,可以永久保持测试状态使用,你自己实测超过2年的稳定运行也验证了这一点。
发布后的状态上报要求
- 如果你后续要提交公开发布,谷歌官方要求智能家居Action必须支持实时状态上报,1小时一次的上报频率完全不符合审核要求,会直接被驳回。不过你仅个人使用不需要发布,完全不用遵守这个规则,按照自己的需求调整上报频率即可。
刷新令牌报错排查方案
你在Stackdriver中查到的报错翻译如下:
jsonPayload: { @type: "type.googleapis.com/google.identity.accountlinking.type.AccountLinkingError" errorReason: "从第三方服务获取响应失败,第三方返回了格式错误的响应,比如无效响应码或无法解析的响应体" request: { body: "grant_type=refresh_token&refresh_token=已脱敏&client_id=qbusauth&client_secret=已脱敏" method: "POST" uri: "https://******.azurewebsites.net/token" } sessionId: -1039956344 step: "刷新访问令牌" }
Postman测试正常但谷歌请求报错,优先排查以下几点:
- 检查Azure站点的接口响应耗时,谷歌OAuth回调的超时阈值为10秒,如果你的服务偶尔响应超时就会触发该报错,可以查看Azure站点的访问日志确认对应请求的响应时长
- 确认令牌接口返回的格式严格符合OAuth2规范:必须返回200状态码,响应头
Content-Type为application/json,响应体必须包含access_token、token_type(固定值为Bearer)、expires_in(秒为单位的整数)三个必填字段,不能有额外的外层封装或者非JSON内容 - 检查Azure的防火墙、WAF规则是否拦截了谷歌的请求IP段,部分云服务商的默认防护规则会误拦谷歌的回调请求,可以查看服务端的访问日志确认谷歌的刷新请求是否正常到达
内容的提问来源于stack exchange,提问作者Verthosa
相关产品推荐
相关产品推荐

