2015-02-11 134 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。

相關問題