Google Home“无法更新设置。请检查您的连接。”

问题描述 投票:1回答:2

因此,在过去的一年中,许多社区委员会都报告了这种类型的错误,我们找不到可接受的答案。我们刚刚开始与Google Home集成并创建了家庭自动化行动,我们也遇到了类似的错误......

{
 insertId:  "10wvnj2fyb1thy"  
 logName:  "projects/bitdog-home-f69bd/logs/actions.googleapis.com%2Factions"
Show matching entries
Hide matching entries
Add field to summary line

 receiveTimestamp:  "2018-12-06T13:28:13.939975519Z"  
 resource: {
  labels: {
   action_id:  "SMART_HOME_SYNC"    
   project_id:  "bitdog-home-f69bd"    
   version_id:  ""    
  }
  type:  "assistant_action"   
 }
 severity:  "ERROR"  
 textPayload:  "SYNC: Request ID 742344561631232315 failed with code: OPEN_AUTH_FAILURE"  
 timestamp:  "2018-12-06T13:28:13.931998358Z"  
}

这会在Google Home应用中显示为“无法更新设置,请检查您的连接”

OAuth服务日志显示成功的帐户链接和成功的refresh_token请求。 Google不会从我们可以告诉的内容中尝试对Action处理程序进行SYNC调用。

我们有其他使用OAuth服务器的系统,它们运行良好,我们对如何继续调试此问题几乎没有任何损失。我们今天创建了一张支持票,但我不相信我们会得到有意义的帮助。

我们还尝试在Android和iOS上使用Google Home应用。我们已尝试将默认浏览器从Chrome更改为Firefox。没有任何改变结果。我们还确保我们的access_token采用JWT格式,以确定google是否对令牌大小或格式敏感,并且没有任何效果。我们甚至确保Google Home应用用户与登录浏览器的用户相匹配。

救命!

google-oauth actions-on-google google-home
2个回答
1
投票

我确实让它运转了。它已经在使用Amazon Echo Skill,但似乎Google的实现(OpenAuth)有点严格。我将access_token从专有的加密令牌格式更改为合法签名的JWT令牌。我还从响应中删除了expires_in,它开始工作,不确定它是access_token JWT令牌格式还是删除了expires_in。我很高兴我可以继续前进。如果我有机会,我会测试看看哪个更改有效并在此再次评论。

谢谢。


0
投票

对于有这个问题的人 -

我不得不采取多个步骤来解决此问题,这些问题在任何文档中都没有明确说明。

  1. 根据Google支持: 请调整您的帐户链接实现从隐式代码流程到auth代码流程,然后再次执行测试。

documentation for OAuth account linking上,它说有两种身份验证方法:隐式和授权代码。显然,只有身份验证代码流适用于智能家居。

  1. 我正在使用Actions on Google Node.js library。在探索documentation时,我发现: [SYNC请求实现]应返回有效响应或解析为有效响应的Promise。

问题是我正在进行数据库操作(花费时间),所以我不能简单地在它准备好时返回一个值;我不得不返回一个Promise insead,然后履行承诺。


希望这对任何坚持这个反复出现的问题的人都有帮助!基本上,检查您的身份验证流程并使SYNC按时返回有效的JS对象。

© www.soinside.com 2019 - 2024. All rights reserved.