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

Posted

技术标签:

【中文标题】解析 Facebook 登录不返回所有字段(它只返回 id 和 name)[重复]【英文标题】:Parse Facebook Login not returning all fields (it returns only id and name) [duplicate] 【发布时间】:2015-09-24 06:24:02 【问题描述】:

我正在使用解析框架来管理用户。 我的应用中有一个选项,用户可以从 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】:

使用此代码-

-(void)fectchUserInfo

FBRequest *req = [[FBRequest alloc] initWithSession:[FBSession activeSession] graphpath:@"me?

fields=first_name,last_name,gender,id,email"];

[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);

    

];

【讨论】:

它也只显示 id 和 name

以上是关于解析 Facebook 登录不返回所有字段(它只返回 id 和 name)[重复]的主要内容,如果未能解决你的问题,请参考以下文章

Facebook 登录在用户个人资料中返回“未定义”字段,并且不返回电子邮件。 MEANJs + Passport-facebook

iOS:为 Facebook 解析登录,在用户名字段中创建一些哈希

解析 Facebook 登录不适用于所有设备

解析 Facebook 登录弹出两次

iOS登录与Facebook不返回电子邮件甚至参数和权限给出

哦哦。用户取消了 Facebook 登录。 - 解析