Bạn có thể làm điều này bằng cách sử dụng đoạn mã sau:
[FBSession openActiveSessionWithReadPermissions:@[@"email",@"user_location",@"user_birthday",@"user_hometown"]
allowLoginUI:YES
completionHandler:^(FBSession *session, FBSessionState state, NSError *error) {
switch (state) {
case FBSessionStateOpen:
[[FBRequest requestForMe] startWithCompletionHandler:^(FBRequestConnection *connection, NSDictionary<FBGraphUser> *user, NSError *error) {
if (error) {
NSLog(@"error:%@",error);
}
else
{
// retrive user's details at here as shown below
NSLog(@"FB user first name:%@",user.first_name);
NSLog(@"FB user last name:%@",user.last_name);
NSLog(@"FB user birthday:%@",user.birthday);
NSLog(@"FB user location:%@",user.location);
NSLog(@"FB user username:%@",user.username);
NSLog(@"FB user gender:%@",[user objectForKey:@"gender"]);
NSLog(@"email id:%@",[user objectForKey:@"email"]);
NSLog(@"location:%@", [NSString stringWithFormat:@"Location: %@\n\n",
user.location[@"name"]]);
}
}];
break;
case FBSessionStateClosed:
case FBSessionStateClosedLoginFailed:
[FBSession.activeSession closeAndClearTokenInformation];
break;
default:
break;
}
} ];
và đừng quên để nhập khẩu FacebookSDK/FacebookSDK.h
trong mã của bạn.
EDIT: Cập nhật cho Facebook SDK v4 (23 Tháng Tư 2015)
Bây giờ, Faceboook đã phát hành SDK mới với những thay đổi lớn. Trong đó lớp FBSession không được chấp nhận. Vì vậy, tất cả người dùng được đề xuất di chuyển sang sdk và API mới.
Dưới đây tôi đã đề cập, làm thế nào chúng ta có thể nhận được thông tin chi tiết người dùng thông qua Facebook SDK v4:
if ([FBSDKAccessToken currentAccessToken]) {
[[[FBSDKGraphRequest alloc] initWithGraphPath:@"me" parameters:nil]
startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection, id result, NSError *error) {
if (!error) {
NSLog(@”fetched user:%@”, result);
}
}];
}
Nhưng trước khi lấy chi tiết người dùng, chúng ta phải tích hợp đăng nhập Facebook mới trong mã của chúng tôi như được mô tả trong Documentation here.
Here là Changelog dành cho SDK phiên bản 4. Tôi đề nghị đi qua nó để được cập nhật.
Chào mừng bạn đến với SO. Bạn cần đăng những gì bạn đã thử. Chúng tôi sẽ cố gắng hỗ trợ bạn, nhưng chỉ sau khi bạn đã cho thấy rằng bạn đã dành ít nhất một số nỗ lực vào đó. –