2015-02-11 139 views
0

我是NewBie与Facebook登录iOS的Facebook登录我做一个FbView,我写了一个代码为获取电子邮件和用户名然后它给我的用户名,因为我想但电子邮件地址变得空作为请给我解决方案为了这。如何从iOS中的Facebook获取电子邮件地址?

这里我的代码等作为

- (void)viewDidLoad 
{ 
[super viewDidLoad]; 
self.fbView.readPermissions = @[@"public_profile", @"email", @"user_friends"]; 
self.fbView.delegate=self; 
if (FBSession.activeSession.state == FBSessionStateOpen 
    || FBSession.activeSession.state == FBSessionStateOpenTokenExtended) 
{ 
    [[FBRequest requestForMe] startWithCompletionHandler: 
    ^(FBRequestConnection *connection, NSDictionary<FBGraphUser> *user, NSError *error) { 
     if (!error) { 
      NSLog(@"Email %@",[user objectForKey:@"email"]); 
      NSLog(@"User Name %@",user.username); 
     } 
    }]; 
} 

,也是我写了一种获取电子邮件等作为

- (void)loginViewFetchedUserInfo:(FBLoginView *)loginView 
         user:(id<FBGraphUser>)user 
{ 
NSLog(@"User Name %@",user.name); 
NSLog(@"Email %@",[user objectForKey:@"email"]); 
} 

但它给我NULL价值,请给我解决它。

回答

1

根据你的第二个方法,尝试这样的,

-(void)loginViewFetchedUserInfo:(FBLoginView *)loginView user:(id<FBGraphUser>)user 
{ 
    NSString *userDetails = [NSString stringWithFormat:@"%@",user]; 
    NSString *fb_userEmail = [user objectForKey:@"email"]; 
} 

userDetails将返回在单个字符串对象中的所有用户的详细信息。 fb_userEmail将返回用户的电子邮件ID。

相关问题