尽管有正确的许可,但没有获得Facebook用户

时间:2013-08-23 03:56:58

标签: ios facebook

我在我的应用程序(SDK 3.5)中登录了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设置,用户可以完全关闭它?

1 个答案:

答案 0 :(得分:5)

我浏览了Facebook文档,因为我有同样的障碍:

注意:如果用户没有有效的电子邮件地址,则不会返回此字段

来源:https://developers.facebook.com/docs/reference/api/user/

因此,当电子邮件地址无效时(例如,多年未使用过Facebook并且已经销毁/更改了其电子邮件地址的用户),Facebook可能会停止返回此字段。

5% - 7%的无效地址可能听起来很烦人,但当我查看我的Facebook好友时,我认为超过10%的人已停止使用他们的帐户,所以如果我不这样做,我认为这不是问题得到他们的地址。