2017-09-13 60 views
1

GPPSignIn *signIn;獲取Google的個人配置文件API不返回出生日期和性別鍵值

在我的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; 

,並試圖從Google獲得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是有許多屬性,但不是出生日期和性別。

任何人有什麼想法?請建議。提前致謝。

歡呼聲中,拉胡爾

+0

更新:新創建的帳戶沒有這些屬性,但我測試創建一年和4年前的帳戶,谷歌apis返回這兩個領域,怪異吧? –

回答

0

有可能的問題是,如果字段已被設置爲具有公共知名度的出生日期和性別只能返回。隱私可見性字段將不會被返回。

如果你使用谷歌人民API這比G +人們API不同,你應該能夠得到私人生日https://www.googleapis.com/auth/user.birthday.read範圍。不幸的是,性別沒有私人空間。

有關詳細信息,請參閱https://developers.google.com/people/上的Google People API文檔。

+0

我已經在我的Google帳戶設置中公開了生日和性別。所以,我不認爲這是問題。我想,這是因爲我在我的問題的評論中提到的原因。 –

相關問題