objective c 登录后获取 Facebook 用户信息

Getting Facebook user info after login in objective c

我正在尝试在登录后从 Facebook 获取用户名、电子邮件和图片。登录和权限工作正常。

我尝试使用:

FBSession

但我正在尝试实现 "user of undeclared FBSession"

if (FBSession.activeSession.isOpen) {

[[FBRequest requestForMe] startWithCompletionHandler:
 ^(FBRequestConnection *connection,
   NSDictionary<FBGraphUser> *user,
   NSError *error) {
     if (!error) {
         NSString *firstName = user.first_name;
         NSString *lastName = user.last_name;
         NSString *facebookId = user.id;
         NSString *email = [user objectForKey:@"email"];
         NSString *imageUrl = [[NSString alloc] initWithFormat: @"http://graph.facebook.com/%@/picture?type=large", facebookId];
     }
 }];}

在此处找到:How to get user info from Facebook SDK in iOS?

有什么想法可以实现吗?或者为什么我没有为 Facebook 元素申报?

如果您使用的是新的 facebook sdk 和新图表 api 您必须使用访问令牌

if ([FBSDKAccessToken currentAccessToken]) {


    [[[FBSDKGraphRequest alloc] initWithGraphPath:@"me" parameters:@{@"fields": @"picture,email,birthday,gender,name"}] startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection, id res, NSError *error)
     {
         if (!error) {



             FBID = [res objectForKey:@"id"];
             FBDOB = [res objectForKey:@"birthday"];
             FBEMAIL = [res objectForKey:@"email"];
             FBGENDER = [res objectForKey:@"gender"];
             FBUSERNAME = [res objectForKey:@"name"];


         }
         else
         {
             NSLog(@"%@", [error localizedDescription]);
         }}];
}

查看此 link 从 Facebook 获取数据 https://developers.facebook.com/docs/ios/graph