Facebook弃用“offline_access”..现在?

问题描述:

那么,我使用PHP的Facebook API登录到我的网站。现在,我使用以下步骤和代码进行连接:Facebook弃用“offline_access”..现在?

  1. 获取授权的URL,并重定向用户。
  2. 通过_GET
  3. 进行API调用获取从URL代码paramns并获得
  4. 的access_token

将申请保存到数据库中和的access_token未来的呼叫使用它们。

这从Facebook developpers的博客文字是:

服务器端OAuth开发

如果从服务器端的OAuth调用生成的的access_token,所产生的access_token>将有较长的到期时间。如果在该用户仍然存在有效的> access_token的情况下进行呼叫,则来自该第二次呼叫的返回的access_token可能是相同的或者可能已经改变,但是在任一情况下,到期时间将被重置。 >同样,在同一天内多次呼叫只会导致第一次呼叫>延长到期时间。

基本上,我要做同样的步骤还是我很困惑? 我如何扩展现有的access_token?

谢谢大家!

+0

我认为Facebook正在做的是给你的。它会为您提供一个具有延长到期时间的令牌,无论是新的还是旧的。 – Thilo 2012-03-13 03:07:09

这真的取决于:

保存到数据库中和的access_token未来的呼叫使用它们。

我的意思是,如果使用Facebook API的目的是验证用户,那么根本就不需要offline_access

一旦用户登录与他们的Facebook账号:

  • 创建一个会话(参见PHP-SDK主类)
  • 您的API调用
  • 使用JS-SDK经常检查的用户登录状态以增强体验。
  • 你最好保存用户的Facebook ID,姓名和(也许)电子邮件。
  • 如果你想保存access_token,那么下次用户访问你的网站并点击登录按钮(如果没有登录到Facebook) JS-SDK检测到他是一个返回用户,更新你的存储access_token与新的!
  • 始终handle过期access_token小号