【问题标题】:Facebook 60 day access token and Deprecated Offline_AccessFacebook 60 天访问令牌和已弃用的 Offline_Access
【发布时间】:2012-02-17 13:59:12
【问题描述】:

Facebook 的“已弃用离线访问”文档 (http://developers.facebook.com/docs/offline-access-deprecation/) 声明如下:


*服务器端 OAuth 开发人员

如果 access_token 是从 服务器端 OAuth 调用生成的,则生成的 access_token 将具有更长的过期时间。如果在该用户仍有有效的 access_token 时进行调用,则第二次调用返回的 access_token 可能相同或可能已更改,但在任何一种情况下,到期时间都将被重置。同样,在同一天多次调用它只会导致第一次调用延长到期时间。*


这似乎意味着服务器端 OAuth 自动 获得一个长到期令牌。如果我在 Facebook 开发人员高级对话框中启用“不推荐使用脱机访问”设置,我确实发现这种情况 - 令牌将在 60 天后过期。但是设置关闭令牌会在 2 小时后过期。

我对这个设置的意义有点困惑:

问题:

  • 该设置听起来像是一个“过渡/迁移”选项....如果我 启用此选项从现在起 6 个月后我还能获得 60 天的代币吗? 不使用“交换”端点?

  • 为什么不自动将所有令牌设置为 60 天?

【问题讨论】:

    标签: facebook facebook-graph-api facebook-c#-sdk facebook-oauth


    【解决方案1】:

    Facebook 应用迁移设置的目的是让开发者能够提前在其应用中测试新功能(或弃用旧功能)并发现可能出现的错误。如Developer Roadmap 所示,offline_access 权限将在 5 月 1 日被删除,届时,每个应用程序都会像您正在测试的迁移设置已启用一样。

    您可以在此处找到有关此更改的更多信息: https://developers.facebook.com/docs/offline-access-deprecation/

    我们不会在没有通知的情况下自动启用它的原因是因为它会导致很多应用程序崩溃。 Facebook 有一个breaking change policy,它试图避免在没有 90 天警告的情况下进行此类更改(在这种情况下是迁移设置)。

    编辑:离线访问权限删除被推迟到 10 月 3 日。

    【讨论】:

    • 感谢您的回复!它为我清除了一切......我现在将启用该选项以获得 60 天的令牌,然后在迁移期结束后,我将继续获得 60 天的令牌 - 这正是我想知道的。谢谢!
    • 那么,你是说只要用户第一次在浏览器中验证并批准访问,我们就可以存储访问令牌,通过端点将其交换为 60 天令牌然后当那个无效时,当我们通过它请求某些东西时,我们将获得一个新的短期令牌,我们可以再次交换它,这意味着用户不必再次手动登录?我问这个是因为我正在设计几乎 100% 自动化运行并且完全无头的服务器端应用程序,所以不希望它们在 60 天结束时停止运行。请就此提出建议。
    猜你喜欢
    • 1970-01-01
    • 2012-05-28
    • 1970-01-01
    • 2012-11-04
    • 2012-04-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-06
    相关资源
    最近更新 更多