3

GPPSignIn *signIn;

在我的 iOS 应用程序中,我将范围设置为:

signIn.scopes = @[@"https://www.googleapis.com/auth/plus.login",
                  @"https://www.googleapis.com/auth/plus.me",
                  @"https://www.googleapis.com/auth/plus.profile.emails.read", 
                  @"email",
                  @"profile",
                  @"https://www.googleapis.com/auth/user.birthday.read"];

还,

signIn.shouldFetchGoogleUserEmail = YES;
signIn.shouldFetchGooglePlusUser = YES;

并试图access_token从谷歌获得。我得到并发送到服务器。

现在,我的服务器正在这样做:

client = OAuth2::Client.new('app_id', 'app_secret')
access_token = OAuth2::AccessToken.new(client, access_token)
profile_api_url = 'https://www.googleapis.com/plus/v1/people/me'
response = access_token.get(profile_api_url)
google_profile_res_body = JSON.parse(response.body)

在这里,google_profile_res_body有许多属性,但没有生日和性别。

有人知道吗?请建议。提前致谢。

干杯,拉胡尔

4

1 回答 1

2

可能的问题是,仅当字段已设置为公开可见时,才会返回生日和性别。不会返回私有可见性字段。

如果您使用不同于G+ People API的Google People API ,您应该能够获得具有范围的私人生日。不幸的是,性别没有私人范围。https://www.googleapis.com/auth/user.birthday.read

有关更多信息,请参阅https://developers.google.com/people/上的 Google People API 文档。

于 2017-09-18T22:40:55.177 回答