我在App Store中有一个使用Parse的应用程序并自动创建匿名用户(我设置[PFUser enableAutomaticUser])。所以现在我在Parse用户表中有数千个用户。
现在我正在尝试实现完整的配置文件,并通过调用以下方式将匿名用户转换为非匿名用户:
[PFFacebookUtils linkUser:currentUser permissions:@[@"public_profile", @"email", @"user_friends"] block:^(BOOL succeeded, NSError *error) {
if (succeeded) {
//some logic
} else {
NSLog(@"Error: %@", error);
}
}];
BTW我也尝试过:
[PFFacebookUtils logInWithPermissions:@[@"public_profile", @"email", @"user_friends"] block:^(PFUser *user, NSError *error) {
if (!user) {
NSLog(@"Uh oh. The user cancelled the Facebook login.");
} else if (user.isNew) {
NSLog(@"User signed up through Facebook!");
} else {
NSLog(@"User logged in through Facebook!");
}
}];
但在这两种情况下我都会收到错误:251 - 提供的Facebook会话令牌已过期或无效。
我已经尝试过:
这里没有什么对我有用。有谁知道在这种情况下该怎么做?如何正确将匿名用户转换为非匿名用户?
答案 0 :(得分:1)
我很确定问题是你的Facebook App配置。
请转到您的Facebook应用设置(高级部分)https://developers.facebook.com/apps/YOUR_FB_APP_ID/settings/advanced/
您应该启用选项"原生或桌面应用?"当您这样做时,您还可以选择其他消息"您的App Secret是否已嵌入?" iOS上的错误251仅在您启用此第二个选项时出现,因为您的应用程序机密未嵌入,因此令牌无效。
请转到您的设置并确保选项"您的App Secret是否已嵌入?"未启用。
我希望它有所帮助。
答案 1 :(得分:0)
验证您的fb开发帐户"已批准的项目" > "登录权限"必须与您在代码中的权限数组中请求的相同。就我而言,我使用的是新的API 2.0。
希望你帮助它。
来自坎昆的问候
答案 2 :(得分:0)
对我来说,问题在于我复制App Secret时的点击,点击你的开发者设置中的显示按钮并将其中的字符串复制到Parse。
希望它有所帮助。