Google+ API 在 Android 上到底是怎么回事?
What the heck with Google+ API on Android?
我尝试使用已弃用的 Plus.API
获取我的生日日期。我请求范围:Plus.SCOPE_PLUS_PROFILE
、Plus.SCOPE_PLUS_LOGIN
和 Scope("https://www.googleapis.com/auth/user.birthday.read")
。
我什至收到了来自 Google 的对话,另外,该应用程序要求完整的生日日期。但是即使它在 mu G+ 页面上是 pblic,我也得到了 null birthady 的回复?
代码:
public static final Scope SCOPE_PLUS_BIRTHDAY = new Scope("https://www.googleapis.com/auth/user.birthday.read");
GoogleSignInOptions gso = new GoogleSignInOptions
.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
.requestEmail()
.requestId()
.requestProfile()
.requestScopes(SCOPE_PLUS_BIRTHDAY, Plus.SCOPE_PLUS_PROFILE, Plus.SCOPE_PLUS_LOGIN)
.build();
mGoogleApiClient = new GoogleApiClient.Builder(mActivity)
.enableAutoManage(mActivity, this)
.addApi(Auth.GOOGLE_SIGN_IN_API, gso)
.addApi(Plus.API)
.build();
回复:
[{value='antoxa2584@gmail.com', key='email', parentId=null}, {value='Антон Артемов', key='name', parentId=null}, {value='https://plus.google.com/100328752299073028996', key='url', parentId=null}, {value='https://lh4.googleusercontent.com/-WNQOIPjFjtY/AAAAAAAAAAI/AAAAAAAAP7E/LjtF7njMedE/photo.jpg?sz=50', key='photo_url', parentId=null}, {value='0', key='age_range_max', parentId=null}, {value='21', key='age_range_min', parentId=null}, {value='null', key='about_me', parentId=null}, {value='null', key='birthday', parentId=null}, {value='null', key='location', parentId=null}, {value='male', key='gender', parentId=null}, {value='ru', key='language', parentId=null}, {value='null', key='nick_name', parentId=null}, {value='0', key='relat_status', parentId=null}]
如果不将生日设置为 public,则无法检索生日。我也不相信用户的出生年份会被返回。您可以使用年龄范围来验证用户的年龄,并可以使用他们的生日(如果他们 public)在他们生日那天进行社交活动。
将个人资料设置为 public 后尝试 using the API Explorer to test this。
我尝试使用已弃用的 Plus.API
获取我的生日日期。我请求范围:Plus.SCOPE_PLUS_PROFILE
、Plus.SCOPE_PLUS_LOGIN
和 Scope("https://www.googleapis.com/auth/user.birthday.read")
。
我什至收到了来自 Google 的对话,另外,该应用程序要求完整的生日日期。但是即使它在 mu G+ 页面上是 pblic,我也得到了 null birthady 的回复?
代码:
public static final Scope SCOPE_PLUS_BIRTHDAY = new Scope("https://www.googleapis.com/auth/user.birthday.read");
GoogleSignInOptions gso = new GoogleSignInOptions
.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
.requestEmail()
.requestId()
.requestProfile()
.requestScopes(SCOPE_PLUS_BIRTHDAY, Plus.SCOPE_PLUS_PROFILE, Plus.SCOPE_PLUS_LOGIN)
.build();
mGoogleApiClient = new GoogleApiClient.Builder(mActivity)
.enableAutoManage(mActivity, this)
.addApi(Auth.GOOGLE_SIGN_IN_API, gso)
.addApi(Plus.API)
.build();
回复:
[{value='antoxa2584@gmail.com', key='email', parentId=null}, {value='Антон Артемов', key='name', parentId=null}, {value='https://plus.google.com/100328752299073028996', key='url', parentId=null}, {value='https://lh4.googleusercontent.com/-WNQOIPjFjtY/AAAAAAAAAAI/AAAAAAAAP7E/LjtF7njMedE/photo.jpg?sz=50', key='photo_url', parentId=null}, {value='0', key='age_range_max', parentId=null}, {value='21', key='age_range_min', parentId=null}, {value='null', key='about_me', parentId=null}, {value='null', key='birthday', parentId=null}, {value='null', key='location', parentId=null}, {value='male', key='gender', parentId=null}, {value='ru', key='language', parentId=null}, {value='null', key='nick_name', parentId=null}, {value='0', key='relat_status', parentId=null}]
如果不将生日设置为 public,则无法检索生日。我也不相信用户的出生年份会被返回。您可以使用年龄范围来验证用户的年龄,并可以使用他们的生日(如果他们 public)在他们生日那天进行社交活动。
将个人资料设置为 public 后尝试 using the API Explorer to test this。