【问题标题】:Deprecation of Facebook offline_access, how to handle on Windows Phone?Facebook offline_access 弃用,在 Windows Phone 上如何处理?
【发布时间】:2012-05-30 18:29:47
【问题描述】:

我正在开发一个使用 Facebook API 的 Windows Phone 应用程序。为此,我需要用户登录并授权我的应用程序,以便我可以获得 access_token。我已经这样做了,效果很好。

问题:如何在下次启动应用时继续使用 Facebook API 而无需用户再次登录?

我做什么:当用户登录时,我保存 access_token 和过期时间。稍后,我可以在进行 API 调用时使用 access_token。这一切都很好。

问题:由于 offline_access 不再工作,我获得的访问令牌有效期为 60 天。这意味着 60 天后他们将停止工作。我可以在不要求用户再次登录的情况下更新这些令牌吗?

我的研究: 我阅读了文档,但似乎只提到了 Android 和 iOS。虽然我认为 Windows Phone 会类似,但我不知道该怎么做。那些其他平台的 Facebook 库有这样的东西:

facebook.extendAccessTokenIfNeeded(this, null);

我找不到适用于 Windows Phone 的类似方法。虽然我在某处读到这实际上不适用于 Android,但它暗示一定有办法做到这一点。

我读到了允许更新访问令牌的新端点,但它似乎只能将短期令牌扩展到长期令牌。对我来说,这里的文档有点不清楚(第 4 节): https://developers.facebook.com/roadmap/offline-access-removal/

感谢您的帮助。

【问题讨论】:

    标签: windows-phone-7 facebook-c#-sdk facebook-oauth facebook-access-token


    【解决方案1】:

    按照您提供的链接上的离线访问删除指南进行操作。它具有 API 调用,可用于为用户获取长期访问令牌 - 这是 offline_access 的替代品。

    具体参见场景 4。

    理论上,Windows Mobile 应该属于 Exception 2 / 3。看看 Windows Mobile SDK 是否可以选择以类似于 iOS 和 Android 的方式访问 access_token。

    【讨论】:

    • 正如我所提到的,我已经了解了用于更新令牌的新端点。它似乎只适用于将短命的令牌变成长命的令牌。这个对吗?我已经有一个长期有效的令牌(60 天),问题是在那些日子过去之前如何更新它并且用户必须再次登录?
    • 您可以使用相同的 API 调用来延长长期令牌的寿命,如文档所述。
    • 你的意思是我可以使用这个新端点吗?这是您所说的 API 调用(我发布的链接的第 4 节)吗?如果是这样,那么那里的文字一定是不正确的,因为它说:“使用下面的新端点,您将能够延长 现有的、未过期的、短期的用户的过期时间access_token。请注意,端点只能用于扩展短期用户access_tokens。如果您传递具有长期过期时间的access_token,端点将简单地传递相同的access_token在不改变或延长到期时间的情况下给您。”
    • 我猜这意味着您必须在用户下次登录时从用户那里获得一个新的短期访问令牌。这意味着您必须优雅地拒绝超过 60 天的令牌,并等待用户再次登录。
    • 嗯,谢谢,但我们回到我原来的问题:如何在下次启动应用程序时继续使用 Facebook API,而无需用户再次登录? 还是不可能?
    猜你喜欢
    • 2012-03-14
    • 2012-03-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多