FBSDKLoginManager 有效,PFFacebookUtils logInInBackgroundWithReadPermissions 无效
Posted
技术标签:
【中文标题】FBSDKLoginManager 有效,PFFacebookUtils logInInBackgroundWithReadPermissions 无效【英文标题】:FBSDKLoginManager works, PFFacebookUtils logInInBackgroundWithReadPermissions not 【发布时间】:2016-05-22 19:28:58 【问题描述】:我使用解析服务器通过 Facebook 实现了登录。
如果我使用它,我会正确获取用户信息:
FBSDKLoginManager *login = [[FBSDKLoginManager alloc] init];
[login
logInWithReadPermissions: @[@"public_profile",@"email"]
fromViewController:self
handler:^(FBSDKLoginManagerLoginResult *result, NSError *error)
if (error)
NSLog(@"Process error");
else if (result.isCancelled)
NSLog(@"Cancelled");
else
NSLog(@"Logged in %@",result);
[self fetchUserInfo];
];
但我想使用 PFFacebookUtils 在 Parse 中轻松创建用户:
[PFFacebookUtils logInInBackgroundWithReadPermissions:@[@"public_profile",@"email"] block:^(PFUser *user, NSError *error)
if (!user)
//...
else if (user.isNew)
//...
else
//...
];
Facebook modal 出现授权请求,但是当我按确定时,我收到此错误:
[错误]:此用户的 Facebook 身份验证无效。 (代码:101,版本:1.13.0)。
在 Facebook 上的应用程序设置里面,应用程序在那里。
【问题讨论】:
【参考方案1】:当用户更改 Facebook 密码或在 Facebook 的应用程序设置中删除您的应用程序时,Parse 应用程序会发生这种情况。
User.authData 应该用PFFacebookUtils.logInInBackgroundWithReadPermissions:
更新,但它似乎没有更新。我认为这是 Parse Server 的问题。
解决方法:发生该错误时,您可以使用 PFFacebookUtils.linkUserInBackground:withReadPermissions:
更新 User.authData。
【讨论】:
以上是关于FBSDKLoginManager 有效,PFFacebookUtils logInInBackgroundWithReadPermissions 无效的主要内容,如果未能解决你的问题,请参考以下文章
带有电子邮件地址的 FBSDKLoginManager 令牌
FBSDK FBSDKLoginManager 和 SFSafariViewController 不会关闭
FBSDKLoginManager 未在本机 ios 应用程序中打开登录对话框
[FBSDKLoginManager logInWithReadPermissions:fromViewController:handler:]:无法识别的选择器发送到实例
FBSDKLoginManager logInWithReadPermissions:fromViewController:处理程序:应用程序首次运行时未调用完成