Facebook 登录问题 - iOS 应用程序的新用户无法通过 FB 连接登录

Posted

技术标签:

【中文标题】Facebook 登录问题 - iOS 应用程序的新用户无法通过 FB 连接登录【英文标题】:Facebook Login issue - New users of iOS app unable to login via FB connect 【发布时间】:2016-08-04 09:49:06 【问题描述】:

我在使用与 Facebook OpenGraph API 集成并使用 iosphp v3.2 sdks 的 IOS 应用程序时遇到问题。我的问题是新用户没有在应用程序上注册,因此没有创建 user_id 并且应用程序崩溃当它试图执行一个功能时。

看起来问题出在 FB 授权上,因为新用户未插入数据库,但用户详细信息已接收并存储在本地应用程序中,但是当从应用程序调用查询时,它会进行检查user_id 的数据库,但没有找到并失败。

我看不到任何身份验证异常,也没有从 Facebook 请求发回任何错误。但似乎返回的 json 有问题。有人可以告诉我如何查看这个 json 吗?这仅在 4 月/5 月之后才发生。在此之前,新用户之前的登录没有问题。谢谢

【问题讨论】:

嗨。您应该编辑您的问题并粘贴相关代码,以便我们提供帮助。 【参考方案1】:

但返回的 json 似乎有问题 […] 这仅在 4 月/5 月发生

可能与此有关,https://developers.facebook.com/docs/apps/changelog#v2_3_changes:

[Oauth 访问令牌] 格式 - 当您交换 access_token 的代码时返回的 https://www.facebook.com/v2.3/oauth/access_token 的响应格式现在返回有效的 JSON,而不是 URL 编码。此响应的新格式为 "access_token": TOKEN, "token_type":TYPE, "expires_in":TIME。我们使此更新符合 RFC 6749 的第 5.1 节。

API 版本 2.3 于 2015 年 3 月 25 日发布,因此与您所说的它开始发生时所说的相符。

现在 PHP SDK v3 已经过时了——如果您想继续使用它,您必须找出此处相关的方法,并修改代码以便正确处理 JSON 格式的返回数据。

当前的 PHP SDK v5 可以自行正确处理此问题,但它与 v3 完全不同。所以升级这可能是一项更大的任务。

如果您的应用仅使用 v2.3 之前的功能,您也可以尝试让您的应用使用 v2.2(在 SDK 初始化中),该版本将在 2017 年 3 月 25 日之前可用。

【讨论】:

以上是关于Facebook 登录问题 - iOS 应用程序的新用户无法通过 FB 连接登录的主要内容,如果未能解决你的问题,请参考以下文章

facebook iOS sdk的登录注销问题

Facebook Unity SDK iOS 登录不使用系统级登录,而是使用浏览器或 Facebook 应用程序

带有 Facebook 登录的 IOS 应用程序卡在登录页面

iOS 8 上的 Facebook 登录;登录切换后应用程序无法运行

Facebook SDK IOS登录问题

在 iOS 应用中处理多个 Facebook 用户登录