Facebook sdk没有在json对象中返回用户email_id。尝试了这么多方法,但没有找到解决方案。 Facebook实施所需的东西
1 - 将其他链接器标志更改为(-ObjC)
2 - 制作网址
在项目列表中添加facebook_id和名称
4 - 在故事板中使用UIView并为其分配FBLoginView类。
5分配和启动并提供读取权限。
这里是给予许可的代码:
_fbLoginVIew =[[FBLoginView alloc] init];
_fbLoginVIew.delegate=self;
_fbLoginVIew.readPermissions= @[@"public_profile", @"email", @"user_friends"];
和委托返回用户信息的方法:
- (void)loginViewFetchedUserInfo:(FBLoginView *)loginView user:(id<FBGraphUser>)user
{
defaults=[NSUserDefaults standardUserDefaults];
[defaults setValue:user.name forKey:@"name"];
[defaults setValue:[user objectforkey:@"email"] forkey:@"email"];
[defaults synchronize];
}
但在实施所有这些事情并寻找解决方案后,我仍然坚持我的问题。 请帮助解决这个问题。
由于
答案 0 :(得分:1)
此问题是由于用户限制他/她的电子邮件显示在时间轴
因此,当您仅允许此
的权限时,您无法访问该内容答案 1 :(得分:0)
实际上它非常简单。在初始化readPermissions
时,您应该给出正确的FBLoginView
:
FBLoginView *loginView =
[[FBLoginView alloc] initWithReadPermissions:
@[@"public_profile", @"email", @"user_friends"]];
或者,如果要在界面构建器上创建登录视图:
self.loginView.readPermissions = @[@"public_profile", @"email", @"user_friends"];
在视图控制器的viewDidLoad
中。
有关Facebook的未来帮助,请阅读this
祝你好运!