gpt4 book ai didi

ios - 无法通过 openActiveSessionWithReadPermissions 对 Facebook 测试用户完成请求(错误代码 7)

转载 作者:可可西里 更新时间:2023-11-01 04:02:49 25 4
gpt4 key购买 nike

背景

  • 最近升级到 Facebook SDK 3.2
  • 在设备和模拟器上测试(iOS 5.16.1)
  • 错误仅在尝试对 Facebook 测试用户 进行身份验证时出现。

错误

The Facebook server could not fulfill this access request: Temporarily unable to make API calls on behalf of XXXXXX.

UserInfo={com.facebook.sdk:ErrorLoginFailedReason=com.facebook.sdk:SystemLoginCancelled, com.facebook.sdk:ErrorInnerErrorKey=Error Domain=com.apple.accounts Code=7}

重现步骤

  1. 清除模拟器或从设备设置中手动删除 Facebook 帐户。
  2. 通过 Facebook 的accounts/test-users 端点创建测试用户。
  3. 在设备设置中添加 Facebook 帐户。
  4. 通过 openActiveSessionWithReadPermissions 进行身份验证并接受权限对话框。

预期结果

  • FBSessionStateHandler block 返回状态 == FBSessionStateOpen。​​
  • 一个零 NSError。

实际结果

  • FBSessionStateHandler block 返回错误。fberrorCategory == FBErrorCategoryUserCancelled 带有上述用户信息跟踪。

解决方案尝试

  • 我已按照 this question 中列出的步骤进行操作;即检查我的包名称,确保我的应用程序类型设置为 Native/Desktop 并将我的App Secret in Client 设置为 NO。
  • 此外,我已确保我只请求读取权限(即电子邮件)。
  • 我什至通过尝试使用 ACAccountStore 实例进行身份验证而完全绕过了 Facebook SDK,并得到了相同的结果。
  • 同样,普通用户(非测试)一切正常;所以它一定与配置和最近的 3.2 更改有关。

最佳答案

1) Facebook 3.1 SDK 拆分读取和发布权限。在第一次身份验证调用中仅使用读取权限(例如,电子邮件)。两者都使用会破坏它并导致该一般错误。似乎 Facebook 的 SDK 实际上并没有做它想做的事情:回退到旧的身份验证方法。 David 告诉我,更新后的 Parse SDK 将使权限拆分更容易,但当然要由 Facebook 来修复他们 SDK 中的错误。

2) 独立地,在设备的设置中退出 Facebook,然后重新登录后,我遇到的问题似乎已经消失。可能是 iOS 集成中的一个小故障? (但是,权限拆分问题仍然适用于此。请确保您先阅读并稍后单独发布(例如,publish_actions),这是您第一次真正需要它时。)

关于ios - 无法通过 openActiveSessionWithReadPermissions 对 Facebook 测试用户完成请求(错误代码 7),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15800765/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com