无法通过 Facebook 登录(解析):错误代码 251
Posted
技术标签:
【中文标题】无法通过 Facebook 登录(解析):错误代码 251【英文标题】:Unable to login via Facebook (Parse): error code 251 【发布时间】:2015-03-26 03:55:42 【问题描述】:我在 App Store 中有一个使用 Parse 并自动创建匿名用户的应用程序(我设置了 [PFUser enableAutomaticUser])。所以现在我在 Parse users 表中有数千个用户。
现在我正在尝试实现完整的配置文件并通过调用将匿名用户转换为非匿名用户:
[PFFacebookUtils linkUser:currentUser permissions:@[@"public_profile", @"email", @"user_friends"] block:^(BOOL succeeded, NSError *error)
if (succeeded)
//some logic
else
NSLog(@"Error: %@", error);
];
顺便说一句,我也试过了:
[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 会话令牌已过期或无效。
我已经尝试过的:
注销匿名用户 刷新会话 关闭并重新验证会话这里没有什么对我有用。有谁知道在这种情况下该怎么办?如何正确地将匿名用户转换为非匿名用户?
【问题讨论】:
你能显示完整的错误吗 @Anbu.KarthikPrinting description of error: Error Domain=Parse Code=251 "The operation couldn’t be completed. (Parse error 251.)" UserInfo=0x1744638c0 error=The supplied Facebook session token is expired or invalid., code=251
【参考方案1】:
我很确定问题出在您的 Facebook 应用配置上。
请转到您的 Facebook 应用设置(高级部分)https://developers.facebook.com/apps/YOUR_FB_APP_ID/settings/advanced/
您应该启用“本机或桌面应用程序?”选项当您这样做时,您将拥有其他选项,并显示“您的 App Secret 是否已嵌入?”消息。仅当您启用第二个选项时,ios 上的错误 251 才会出现,因为您的应用程序机密未嵌入,因此令牌无效。
请转到您的设置并确保选项“是否嵌入了您的应用程序密码?”未启用。
希望对你有帮助。
【讨论】:
感谢您的解释,但正如屏幕截图所示,所有这些设置都按照您的建议进行设置。 嗨,Dmitry,我昨天测试了这个,它对我有用。我建议仔细检查以下内容: 1. Bundle ID(FB iOS 设置) 2. Parse 设置中的 FB App ID 和 Secret ID 3. 数据库中已经链接 Facebook 个人资料的用户(检查它是否尚未链接给另一个用户) 4. SDK 版本(尽量使用 Parse 和 Facebook 的最后一个 SDK)【参考方案2】:在“已批准的项目”>“登录权限”中验证您的 fb 开发帐户必须与您在代码中的权限数组中请求的相同。就我而言,我使用的是新的 API 2.0。
希望你能帮忙。
来自坎昆的问候
【讨论】:
【参考方案3】:对我来说,问题是我复制了点中的 App Secret,单击开发人员设置中的显示按钮并将其中的字符串复制到 Parse。
希望对你有帮助。
【讨论】:
以上是关于无法通过 Facebook 登录(解析):错误代码 251的主要内容,如果未能解决你的问题,请参考以下文章