在数据浏览器中解析没有 Facebook 详细信息的登录用户

Posted

技术标签:

【中文标题】在数据浏览器中解析没有 Facebook 详细信息的登录用户【英文标题】:Parse Login users without Facebook details in Data Browser 【发布时间】:2014-06-16 14:25:36 【问题描述】:

我正在使用[PFFacebookUtils loginWithPermissions] 让用户在 ios 应用程序中登录 Facebook。用户没有其他登录选项。在完成块中,我调用[FBRequestConnection startForMeWithCompletionHandler]。在第二次调用的完成块中,我将获得的数据存储到[PFUser currentUser] 对象(如用户名、电子邮件)中。 Parse 仪表板中的数据浏览器显示电子邮件中的空数据以及从 Facebook 收到的某些用户的其他信息。我有适当的条件检查来查看 API 调用是否返回任何错误。

这是代码。 Parse 数据浏览器中有许多用户没有 FBID、电子邮件和损坏的用户名。

[PFFacebookUtils logInWithPermissions:nil block:^(PFUser *user, NSError *error) 
    if (!user) 
        UIAlertView* alert = [[UIAlertView alloc] initWithTitle:@"Facebook error" message:@"To use you Facebook account with this app, open Settings > Facebook and make sure this app is turned on." delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil, nil];
        [alert show];
     else 
        [FBRequestConnection startForMeWithCompletionHandler:^(FBRequestConnection *connection, id result, NSError *error) 
            if (!error)                     
                [[PFUser currentUser] setObject:result[@"id"] forKey:kPFUser_FBID];
                [[PFUser currentUser] setObject:result[@"name"] forKey:kPFUser_Username];
                [[PFUser currentUser] setObject:result[@"email"] forKey:kPFUser_Email];
                [[PFUser currentUser] saveInBackground];
            
        ];
    
];

看起来该块没有输入第二段代码(即它从 FBRequestConnection 方法中得到错误。 请帮忙!

【问题讨论】:

字段为空还是未定义?是否有来自 Facebook 的用户的电子邮件是从 Facebook 获得的,或者有电子邮件的用户是在没有 Facebook 的情况下注册的? 【参考方案1】:

我想出了这里的问题。我在打电话

[PFFacebookUtils loginWithPermissions]

具有零权限并试图访问用户的电子邮件地址。在 currentUser 对象中输入空值时,Parse 崩溃。

刚刚将 nil 替换为 @"email" 权限。

感谢您的帮助。

【讨论】:

【参考方案2】:

您是否记得在完成设置属性后保存当前用户?这很容易忘记。

更新:

添加一个 else 块以记录从 Facebook 调用返回的任何可能的 error

还可以尝试将您的 saveInBackground 更改为 saveInBackgroundWithBlock: 并检查是否有任何错误,如果数据没有显示在 Parse Data Browser 中,那么您应该首先检查。

【讨论】:

是的。我正在保存当前用户。 parse.com 数据浏览器上的 PFUser 对象不显示 fbid、用户名、电子邮件。

以上是关于在数据浏览器中解析没有 Facebook 详细信息的登录用户的主要内容,如果未能解决你的问题,请参考以下文章

iOS - Facebook Connect 注销不删除登录详细信息?

如何在 android 中使用 facebook 复制 Url 获取 facebook 视频详细信息

如何在详细视图中添加 facebook like 图标?

如何在 tvOS 中获取 Facebook 用户详细信息

使用 App Access Token 从 Facebook 帐户获取页面详细信息

使用 PFFacebookUtilsV4 Cocoapods 在 Swift 中获取 Facebook 用户详细信息