首页 文章

解析Facebook登录不返回所有字段(它只返回id和名称)[重复]

提问于
浏览
0

这个问题在这里已有答案:

我正在使用解析框架来管理用户 . 我的应用程序中有一个选项,用户可以从Facebook登录 .

我在plist文件中链接了FacebookAppID和URL方案 .

根据解析文档,推荐的代码如下所示

[PFFacebookUtils logInWithPermissions:@[ @"email",@"user_about_me", @"user_relationships", @"user_birthday", @"user_location"] block:^(PFUser *user, NSError *error) 
{
   if (user)
   {
        NSLog(@"User authenticated from facebook.");
        FBRequest *request = [FBRequest requestForMe];
       [request startWithCompletionHandler:^(FBRequestConnection *connection, id result, NSError *error) {
       if (!error)
       {
           NSLog(@"Facebook id fetched.");
           // result is a dictionary with the user's Facebook data
           NSDictionary *userData = (NSDictionary *)result;

       }
   }
   else
   {
       // User not authenticated
   }
]];

现在你可以看到我已经为 email,user_about_me,user_relationships,user_birthday, user_location 输入了适当的权限

但是我从facebook获得的 result 字典每次都为每个用户返回 nameid .

我还想要其他信息 . 任何人都知道为什么我没有获得所有用户数据?

它不重复

1 回答

  • 0

    使用此代码 -

    • (void)fectchUserInfo {

    FBRequest * req = [[FBRequest alloc] initWithSession:[FBSession activeSession] graphPath:@“me?

    字段=名字,姓氏,性别,ID,电子邮件“];

    [req startWithCompletionHandler:^(FBRequestConnection *connection, id result,NSError *error) {
        if(error) {
            NSLog(@"fb error");
            [self handleAuthError:error];
            return;
        }
        else{
            facebookFirstName = [result objectForKey:@"first_name"];
    
            facebookLastName  = [result objectForKey:@"last_name"];
    
            facebookID  = [result objectForKey:@"id"];
    
            facebookEmail  = [result objectForKey:@"email"];
    
            NSLog(@"fb data:%@ %@ %@ %@ ",facebookFirstName,facebookLastName,facebookID,facebookEmail);
    
            facebookPassword = [NSString stringWithFormat:@"%@_%@",facebookID,@"fb"];
    
    
            NSLog(@"fb password is :%@",facebookPassword);
    
        }
    
    }];
    

    }

相关问题