使用 Parse 登录 Facebook 时出错

Posted

技术标签:

【中文标题】使用 Parse 登录 Facebook 时出错【英文标题】:Error when using Parse to log into Facebook 【发布时间】:2016-07-31 06:46:11 【问题描述】:

我正在尝试使用 Parse 实现 Facebook 登录,但收到以下错误消息:

[错误]:此操作的权限被拒绝。 (代码:119,版本:1.14.2)

我已经将我的应用程序的 Facebook 应用程序 ID 添加到我的 Parse 应用程序的设置页面,将我的应用程序链接到 Facebook SDK,并将 FacebookAppID 和 URL 方案值添加到我的 .plist 文件中。

这是我用来尝试登录的代码(直接来自 Parse)。 http://parseplatform.github.io/docs/ios/guide/#log-in--sign-up

NSArray *permission = [NSArray arrayWithObjects:@"public_profile", @"email", @"user_friends", nil];

[PFFacebookUtils logInInBackgroundWithReadPermissions:permission block:^(PFUser *user, NSError *error) 

    NSLog(@"Error: %@", error.description);
    if (user) 
        NSLog(@"Uh oh. The user cancelled the Facebook login.");
     else if (user.isNew) 
        [self performSegueWithIdentifier:@"signInSuccessful" sender:nil];
        NSLog(@"User signed up and logged in through Facebook!");
     else 
        [self performSegueWithIdentifier:@"signInSuccessful" sender:nil];
        NSLog(@"User logged in through Facebook!");
    
];

【问题讨论】:

系统是否提示您在 Facebook 上允许您的应用? 是的!它向我显示了应用程序请求哪些字段的摘要屏幕,我批准了它们。然后,下次我启动该应用程序并出现 Facebook 窗口时,它说该应用程序已获得授权。当我进入我的 Facebook 设置时,我可以在那里看到该应用程序。 您使用的是 parse.com 服务还是 parse-server(开源)? 我正在使用解析器服务器。我能够使用常规帐户(用户名和密码)创建和登录,并且能够在应用程序的其他位置提取和保存数据,所以我很确定解析服务器设置正确。 好的。您是否将 facebook 添加为您的 oauth 提供商之一?您是否遵循本指南:github.com/ParsePlatform/parse-server/wiki/OAuth? 【参考方案1】:

我发现 logInInBackgroundWithReadPermissions 方法由于某些奇怪的原因无法正常工作。您必须首先使用他们的标准方法从 Facebook 获取令牌,然后使用令牌信息将用户登录到您的解析数据库。以下是相关问题中回答的问题的解决方案的链接。

https://***.com/a/38936913/2472466

【讨论】:

以上是关于使用 Parse 登录 Facebook 时出错的主要内容,如果未能解决你的问题,请参考以下文章

通过 Facebook iOS Parse.com 登录用户

Parse - 通过 Facebook 应用程序登录 Facebook

在 iOS9 和 Swift2 中使用 Parse 登录 Facebook

使用 Parse iOS 登录 Facebook 和 twitter 只能使用一次

Parse - 每次都重新创建 Facebook 用户

Android Facebook SDK 4.0 登录:用户登录 Facebook 应用程序时出错