After the token exchange, I call /plus/v1/people/me/openIdConnect, but I always get "401: Invalid Credentials" (Btw, I ask offline access type).
The weirdest thing is it failed only on Android in my production environment. For some reason, I cannot use Google SDK on Android, so I open a browser to do authentication, just like on web. The same code works fine on web in both dev and prod environment. It also works on Android in dev environment, but not in prod environment. Thus, it makes me harder to debug, every time I debug in my dev environment, it is fine.
According to Google document, I should refresh my access token but does it make sense the access token gets expired right after I exchange it from the code?
Anyway, please comment or question, anything helps.