使用 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