【问题标题】:facebook offline_access vs access_tokenfacebook offline_access vs access_token
【发布时间】:2012-06-20 21:00:49
【问题描述】:

我已阅读此处的问答和其他线程以了解 facebook 如何处理离线访问,但我仍然不完全了解它是如何工作的,所以请有人向我解释一下。

似乎 facebook 仍然支持客户端应用程序访问用户信息,而无需每次都要求用户登录。 (例如,如果在安装客户端应用期间用户至少授予了一次授权)

实现这一切的 access_token 似乎有点难以正确理解。

我看到在 c# 代码中,access_token 是只读属性,因此客户端应用程序无法保存和重用,客户端应用程序每次都必须代表用户向授权服务器(facebook 服务器)请求令牌。然后有人说offline_access(长期使用的access_token,有效期60天左右)是必要的,也有人说默认access_token(1-2小时)就够了,你每次都要。

任何人都可以澄清并请提供一些 C# 代码或包含代码的链接吗?

提前致谢

【问题讨论】:

    标签: facebook facebook-c#-sdk


    【解决方案1】:

    如果您在用户授予您的应用程序权限时选择了offline_access,则意味着返回的access_token 具有长期生命周期 - 这意味着您无需重新发出access_token 代表他们发帖(或其他)。如果没有offline_access,每次您想对其帐户执行任何操作时都需要重新颁发访问令牌。

    如果您要使用 2 小时的 access_token,当该期限到期时,用户需要先登录 Facebook,然后才能发出新的 access_token - 这意味着您需要将他们重定向到 Facebook 登录页面然后将令牌发回给您。这是一种不太方便的方法,但是我一直在努力尝试使用 offline_access 选项

    【讨论】:

    • 错误 - 我的错 - 这更针对基于 Web 的 Facebook 集成。
    • 您解释的内容我猜想适用于桌面应用程序。我无法成功理解的一件事是,如果进程不包含 log_in,则何时将 access_token 授予客户端应用程序。有一些功能调用 TryParseOAuthCallbackUrl 并且这个回调函数似乎能够返回令牌..它现在不返回 oauthResult 而是返回 null ..
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-16
    • 2011-02-11
    • 2011-10-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多