facebook离线访问

facebook离线访问,facebook,Facebook,ma web应用程序使用脱机访问。由于它将在5月1日被弃用,我想知道如何管理访问令牌的有效性。 他们在文档中说(如果access_令牌是从服务器端OAuth调用生成的,那么生成的access_令牌将有更长的过期时间)! 这是什么“更长的到期时间?”以及我如何知道我的令牌不再有效 有人能帮我吗? 塔克斯 从您在问题中链接的页面中,较长的过期时间为60天: 要获得访问令牌,只需传递您自己的客户端id(您的应用程序id), 您的app_secret和客户端对端点的访问_令牌 在下面返回的访问令牌将设置

ma web应用程序使用脱机访问。由于它将在5月1日被弃用,我想知道如何管理访问令牌的有效性。 他们在文档中说(如果access_令牌是从服务器端OAuth调用生成的,那么生成的access_令牌将有更长的过期时间)! 这是什么“更长的到期时间?”以及我如何知道我的令牌不再有效

有人能帮我吗?
塔克斯

从您在问题中链接的页面中,较长的过期时间为60天:

要获得访问令牌,只需传递您自己的客户端id(您的应用程序id), 您的app_secret和客户端对端点的访问_令牌 在下面返回的访问令牌将设置为在60天后过期。如果 如果要续订仍然有效的访问令牌,则必须 首先获取新的客户端访问令牌,然后调用相同的令牌 端点在下面。返回的带有新扩展的 到期时间可能与之前授予的到期时间相同,也可能不同 扩展访问令牌


还有。

Facebook很高兴删除了这个。真的把我们的工作搞砸了!现在,您是否认为运行一个小的windows/unix服务,可以调用新的端点,比如每30天调用一次正确的值,就能“解决”这个问题。看起来用户并不一定要在您的站点上,因为最终点是:

https://graph.facebook.com/oauth/access_token?             
    client_id=APP_ID&
    client_secret=APP_SECRET&
    grant_type=fb_exchange_token&
    fb_exchange_token=EXISTING_ACCESS_TOKEN

因为您只是调用一个URL并解析详细信息?因此,当有人连接到你的应用程序时,获取新的扩展访问令牌,将其与过期日期和正确的设置一起保存到你的db中,每30天调用一次URL(如果你想在边缘上玩,甚至是59天…),并更新它,而用户不需要亲自访问你的站点。似乎很容易避开安全问题…?

我需要知道如何处理过期时间,而不要求用户再次登录?例如,如果我的用户在4月30日有一个访问令牌。5月1日,他将能够在不重新登录的情况下使用我的应用程序?任何人都知道如果我在5月1日之前检查“拒绝脱机访问”会发生什么?ThanxAs只要用户在代币到期前使用你的应用,你就可以续订/交换代币。令牌每天只能续订一次。如果用户离开你的应用程序超过60天,用户将需要重新登录到你的app.thanx以获得答案。实际上,我将access_令牌存储在数据库中,由于我使用离线访问,我从未检查令牌的有效性。那么我应该将过期日期存储在数据库中吗?并在令牌不再有效时重定向我的用户…?每当用户使用你的应用程序时,你都应该将访问令牌更换为一个新的令牌,该令牌将在60天后过期。获得新令牌后,将新令牌存储在数据库中。如果您等到令牌过期后再执行此操作,用户将需要再次登录。我不建议这样做。这样做将违反Facebook的ToS。OAuth规范明确地调用短期访问令牌,并且创建一个服务来无限期地刷新这些令牌违反了这一点。