2015-07-27 2 views
-2

Как получить имя пользователя, изображение пользователя, адрес электронной почты пользователя при входе в систему: didCompleteWithResult: err: метод вызывается в Facebook SDK для версии iOS версии 4.4. Я хочу установить эти значения в свойства.Facebook SDK iOS использует данные пользователя

- (void)loginButton:(FBSDKLoginButton *)loginButton didCompleteWithResult:(FBSDKLoginManagerLoginResult *)result error:(NSError *)error { 
if (error) { 

} else if (result.isCancelled) { 

} else { 
    //I want get user info here and set values to properties. 
    self.userName = 
    self.userImage = 
    self.userEmail = 

} 
} 

Если вы знаете другие решения, расскажите мне об этом.

+0

см эту ссылку, поможет вам http://stackoverflow.com/a/30275960/4536708 –

ответ

0

Попробуйте

FBSDKLoginManager *login = [[FBSDKLoginManager alloc] init]; 
    [login logInWithReadPermissions:@[@"email",@"user_photos"] handler:^(FBSDKLoginManagerLoginResult *result, NSError *error) { 
    if ([result.grantedPermissions containsObject:@"email"]) { 
     [self fetchData] 

    } 
}]; 

и в методе fetchData

- (void)fetchData { 

[[[FBSDKGraphRequest alloc] initWithGraphPath:@"me" parameters:nil] 
startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection, id result, NSError *error) { 

    if (!error) { 

     DLog(@"fetched user:%@", result); 

     self.userFirstName = [result objectForKey:@"first_name"]; 
     self.userLastName = [result objectForKey:@"last_name"]; 
     self.userEmail = [result objectForKey:@"email"]; 
     NSString *facebookId = [result objectForKey:@"id"]; 

     self.userProfileImage = [NSString stringWithFormat:@"https://graph.facebook.com/%@/picture?type=large", facebookId]; 
     DLog(@"URL=%@",self.userProfileImage); 

     } 
    }]; 
} 
+0

спасибо за принятие моего анс плз upvote для этого. –

Смежные вопросы