我试图从Google返回的IDToken收到电子邮件,这段代码实际上已经工作了好几个月,直到昨天晚上。 没有任何改变,现在对于某些设备,令牌不包含电子邮件。
我尝试检查OAuth2游乐场是否有相同的帐户,对于所有帐户,游乐场提供的令牌实际上都有电子邮件。
在我的手机上,使用相同的帐户,它不存在。 我仍然得到名称,account_id和东西,只有电子邮件丢失。
在同事的手机上,对于同一帐户,该令牌包含该电子邮件。
构建api客户端的代码:
mGoogleApiClient = new GoogleApiClient.Builder(this)
.addApi(Plus.API)
.addScope(Plus.SCOPE_PLUS_LOGIN)
.addScope(Plus.SCOPE_PLUS_PROFILE)
.addScope(new Scope(Scopes.PROFILE))
.addScope(new Scope("email"))
.addConnectionCallbacks(this)
.addOnConnectionFailedListener(this)
.requestServerAuthCode(SERVER_ID, this)
.build();
如果这只是我的手机,这不会是一个很大的问题,但事实是它在一部手机上无法预测,这意味着它无法接受。
我想知道是否有100%保证的方式确保IDToken始终包含电子邮件。
注意:我尝试了人员.get端点,但它没有解决这个问题,甚至完全阻止某些帐户收到令牌。
答案 0 :(得分:0)
如果您要请求电子邮件范围,则电子邮件应位于idtoken内。我们肯定想调试这个问题。你可以告诉我一些信息(通过视频群聊),所以我们试着看看吗?