2013-08-23 75 views
0

我在我的應用程序(SDK 3.5)中有一個Facebook登錄並希望獲得用戶的電子郵件。這是我的「核心」的登錄代碼,在那裏我相信我設置了正確的權限被要求:儘管有正確的許可,但沒有得到Facebook用戶的電子郵件

NSArray *permissions = [NSArray arrayWithObjects:@"email", @"user_location", nil]; 

[FBSession openActiveSessionWithReadPermissions:permissions allowLoginUI:YES completionHandler: 
^(FBSession *session, FBSessionState state, NSError *error) { 
    // some code here 
}]; 

現在,當我嘗試讀取用戶從他們的/我的數據電子郵件,它的實際工作爲用戶。除了一些,我仍然沒有收到電子郵件。

我在這裏錯過了什麼嗎?我想,當用戶授予此請求我總是得到一個電子郵件地址(即使它是一個匿名的電子郵件)。還是隻有一個Facebook設置,用戶可以完全關閉它?

回答

5

我通過Facebook的文件去,因爲我有同樣的障礙:

注:https://developers.facebook.com/docs/reference/api/user/

:如果沒有有效的電子郵件地址是供用戶

來源此字段將不予退還因此,當一個電子郵件地址變得無效(例如未使用過Facebook的用戶,因爲例如已經銷燬/更改了他們的電子郵件地址),facebook可能會停止返回該字段。

5% - 7%的無效地址可能聽起來令人討厭,但是當我檢查我的臉書朋友時,我認爲其中有超過10%的人已經停止使用他們的帳戶,所以我認爲它不是一個問題,得到他們的地址。

+2

這個答案似乎是_heavily_這個由Sebastien C啓發的:http://stackoverflow.com/questions/9347104/register-with-bookbook-sometimes-doesnt-provide-email/18377407#18377407,所以它是可能值得注意的是。 –

相關問題