facebook访问令牌的到期时间

时间:2012-07-05 04:27:25

标签: php facebook facebook-graph-api facebook-access-token

如何在 php 中找到访问令牌何时到期?

2 个答案:

答案 0 :(得分:5)

您最初在Facebook signed_request收到的令牌将在2小时或7200000毫秒或7200秒到期。如果您使用以下请求扩展令牌,您将在响应中收到新的过期时间5184000秒,转换为60天。我通常所做的是将此时间以毫秒为单位存储在当前Unix时间(以毫秒为单位),并在需要时连续检查该时间。

Extending the token

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 

作为一个例子,我会在客户端请求源信息,并进行以下检查..

if (response.user.sources.FACEBOOK.expires > new Date().getTime() ) {
    //do something
}

答案 1 :(得分:0)

不确定为什么要尝试确定? 如果用户在任何时候取消授权您的应用或更改其密码,则访问令牌可能会过期。

读这个 Facebook - How-To: Handle expired access tokens

此外,我相信facebook正在引领所有应用程序被授予60天令牌。 我可能是错的,但如果您启用了对脱机访问令牌的弃用,则应该为您的ap授予60天令牌。如果您的用户重新访问您的ap,则该令牌将重新启动至60天。