我有一个使用 Google Plus API 的 android 应用程序,并且我还要求提供一个访问令牌,我将它传递给我的服务器,以便我可以进行 oauth 2.0 API 调用以获取用户详细信息。我要求使用GoogleAuthUtil.getToken
以下范围的访问令牌:
String scopes = "oauth2: https://www.googleapis.com/auth/userinfo.profile
https://www.googleapis.com/auth/userinfo.email
https://www.googleapis.com/auth/plus.login" ;
然后,我将获得的访问令牌传递给我的服务器,并进行 api 调用:https://www.googleapis.com/oauth2/v2/userinfo
它返回以下用户详细信息:[id, email, verified, name, given_name, family_name, link, picture, gender, locale]
到目前为止,一切都很好。这在 90% 的时间里都有效。最近我得到的用户没有大部分细节。当我检查他们的访问令牌时,我看到以下内容:
{
"issued_to": "534771845378-a8epgha85s5hkr3bqnsj8ihjvpl8pms.apps.googleusercontent.com",
"audience": "534771845378-ha8epgha85s5hkr3bqnsj8ihjvpl8pms.apps.googleusercontent.com",
"user_id": "103098746579631883577",
"scope": "https://www.googleapis.com/auth/plus.login https://www.googleapis.com/auth/userinfo.email",
"expires_in": 3382,
"email": "***@***.com",
"verified_email": true,
"access_type": "offline"
}
请注意,突然丢失了userinfo.profile范围。关于为什么有时会发生这种情况的任何想法?