Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Google Home "Couldn't update the setting. Check your connection.'

So this type of error is being reported on a lot of community boards over the course of the last year with no acceptable answer we could find. We have just started our journey integrating with Google Home and created a Home Automation Action and we are getting a similar error …

{
 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"  
}

This shows on Google Home app as "Couldn't update the setting, check your connection"

The OAuth service logs show a successful account linking and a successful refresh_token request. Google does not attempt a SYNC call to the Action handler from what we can tell.

We have other systems using the OAuth server and they are working well and we are little lost on how to proceed to debug this issue. We created a support ticket today but I don't feel confident that we will get meaningful help.

We have also tried using the Google Home app on Android and iOS. We have tried changing the default browser from Chrome to Firefox. Nothing has changed the outcome. We also made sure that our access_token was in JWT format to see if google was sensitive to token size or format and nothing worked. We even made sure that the Google Home app user matched the user logged into the browser.

Help!

like image 839
Vincent Miceli Avatar asked Nov 06 '22 23:11

Vincent Miceli


1 Answers

I did get it working. It was already working with an Amazon Echo Skill but it seems that Google's implementation (OpenAuth) is a bit more strict. I changed my access_token from a proprietary encrypted token format to a legit signed JWT token. I also removed expires_in from the response and it started working, not sure if it was the access_token JWT token format or removal of expires_in. I'm happy I can move on. If I get a chance, I will test to see which change made it work and comment here again.

Thank you.

like image 178
Vincent Miceli Avatar answered Nov 16 '22 13:11

Vincent Miceli