【问题标题】:Long-lived page tokens are unobtainable for some apps某些应用程序无法获得长期存在的页面令牌
【发布时间】:2012-09-20 14:47:14
【问题描述】:

Facebook 的 offline_access 弃用迁移计划于今年早些时候发布。然而,它被多次推迟到 10 月 3 日,大概是因为它有 bug 并且尚未完全实施。到目前为止,迁移仍然不完整且容易出错。

经过数月准备变更、更新我们的代码库以及反复(徒劳)尝试与 Facebook 合作后,这次失败的迁移将在一周内上线。

如错误报告 (http://developers.facebook.com/bugs/151056591697025) 中所述,对于我们的应用,无法获取长期页面访问令牌(使用 offline_access 权限的替代方法)。 Facebook 似乎对这个问题的关注度为零。

如果 Facebook 继续无所作为,那么在 10 月 3 日,我们的应用程序(以及许多其他应用程序)将会崩溃。我们该怎么办?


更新

以下工作流是最确凿的证据:

  1. 确认我们收到了用户的短期令牌。
  2. 确认我们可以将该短期令牌转换为长期令牌。
  3. 确认当这个长寿命令牌用于获取页面访问令牌时,它们会在 60 天后过期。

这是合适的工作流程,对吗?

【问题讨论】:

  • 所以迁移已启用,您正在使用带有当前身份验证对话框的服务器端 oauth 流程,但仍未获得 60 天令牌?
  • 正确。我们在这里和那里混合了一些客户端大小的身份验证,但重要的部分应该在服务器端并且正常运行。 (请参阅上面更新的主要问题)。非常感谢您的帮助!
  • @Igy,你有什么想法?我很想听听你的观点。对于投反对票的人,我很想听听你关于为什么这不是一个适合 SO 的问题的建设性批评。
  • 一旦通过用户的长期(约 60 天)令牌检索到页面访问令牌应该是无限的 - 如果不是,则可能是错误,这些错误报告的问题是人们说“我也是” ' 当重现步骤不完全相同或存在其他一些边缘情况时,很难找出根本原因 - 我会看看这是否是一个已知问题
  • 感谢您的回复,@Igy。我相信我已经解决了这个问题。

标签: migration deprecated access-token facebook-access-token


【解决方案1】:

我相信我已经解决了这个问题(至少在我的场景中)。完成这项工作需要做两件事:

  1. 我们在服务器端成功获取了长期访问令牌。但是,我们无法使用客户端 API(通过 /me/accounts)中的长期令牌来获取未过期的页面访问令牌。这可能是因为客户端从未收到更新的长寿命访问令牌。

    无论如何,我们将“页面访问令牌获取”代码从客户端迁移到服务器端,这似乎已经解决了问题。 (我想必须有一种方法可以在客户端执行此操作,但可能很难强制客户端 API 使用更新的长期访问令牌而不是短期访问令牌。)

  2. 在我们从 Facebook 用户帐户 (http://www.facebook.com/settings) 中完全删除 Facebook 应用程序之前,我们的更改似乎没有任何效果(至少对我们现有的测试用户和测试应用程序) ?tab=应用程序)。

【讨论】:

    猜你喜欢
    • 2018-09-08
    • 2012-08-09
    • 1970-01-01
    • 2013-07-18
    • 2015-10-26
    • 2017-06-20
    • 2011-02-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多