Facebook在60天后续订用户令牌

时间:2014-02-28 09:28:02

标签: php facebook facebook-graph-api

我使用此代码获取有效令牌60天

// Set Extended Access Token
$facebook->setExtendedAccessToken();
//get session
$session = $facebook->getAccessToken();

然后我将其存储在数据库中并使用它在用户的墙上发布(* publish_stream *权限)。但是有没有办法续订令牌,我的用户不太可能在这60天内打开应用程序(构建提醒应用程序)。

请提供工作代码或如何使用假人

2 个答案:

答案 0 :(得分:2)

不幸的是,facebook没有提供任何刷新访问令牌的方法而没有用户干扰。用户必须重新登录应用程序以获取新的令牌。在这种情况下,您获得的唯一好处是您可以在没有授权对话框的情况下捕获新令牌。

答案 1 :(得分:2)

您无法延长令牌超过60天或在没有用户互动的情况下续订令牌。

,如果您的用户在60天内有任何机会进入您的应用,该令牌将自动续订,并且可以再过60天。

  

到期和延长代币

     

Facebook的官方SDK管理令牌的生命周期。什么时候   使用iOS,Android或我们的JavaScript SDK,SDK将处理制作   确保令牌在到期之前刷新。

     

使用Facebook SDK的原生移动应用程序将获得长久的使用寿命   获取令牌,大约60天。这些令牌将被刷新   每天一次,当使用您的应用程序的人提出请求时   Facebook的服务器。如果没有请求,则令牌将过期   大约60天后,该人将不得不通过登录   再次流动以获得新的令牌。

     

网络上的访问令牌通常有两个小时的生命周期,但是   将在需要时自动刷新。如果你想使用   访问令牌为更长寿的Web应用程序,尤其是服务器端,您   需要生成一个长期存在的令牌。一般来说是一个长寿的令牌   持续约60天。

另外,在他们说不应该依赖这些生命周期的文档上,因为用户可以撤销权限,更改密码(更改密码将撤销用户已安装的每个应用的每个令牌

  

用户访问令牌有两种形式:短期令牌和   长寿代币。短命代币通常具有约一生的寿命   一两个小时,而长寿代币通常有一生   大约60天。你不应该依赖这些生命周期   同样 - 生命周期可能会在没有警告的情况下发生变化或提前到期。

我引用的所有这些信息都在https://developers.facebook.com/docs/facebook-login/access-tokens/