我在我的应用程序(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
}];
Run Code Online (Sandbox Code Playgroud)
现在,当我尝试从他们/我的数据中读取用户电子邮件时,它实际上适用于大多数用户.除了一些,我仍然没有收到电子邮件.
我在这里错过了什么吗?我想当用户授予此请求时,我总是会收到一个电子邮件地址(即使它是匿名电子邮件).或者只是一个Facebook设置,用户可以完全关闭它?
我浏览了Facebook文档,因为我有同样的障碍:
注意:如果没有可用的有效电子邮件地址,则不会返回此字段
资料来源:https://developers.facebook.com/docs/reference/api/user/
因此,当电子邮件地址变得无效时(例如,多年未使用facebook并且已经销毁/更改了他们的电子邮件地址的用户),facebook可能会停止返回此字段.
5% - 7%的无效地址可能听起来很烦人,但当我检查我的Facebook好友时,我认为超过10%的人已停止使用他们的帐户,所以如果我没有得到他们的地址,我认为这不是问题.
归档时间: |
|
查看次数: |
2040 次 |
最近记录: |