如何知道Facebook令牌是长期还是短期

时间:2014-08-23 12:35:44

标签: php facebook facebook-graph-api

我为一个项目构建api并且我需要使用facebook api,我已经明白客户端获得一个短暂的accessToken将此令牌发送到服务器,服务器获得一个长期的accessToken并发送回到客户端,这是我的代码:

$token = Request::header('token');
$facebook = new Facebook(array(
      'appId'  => Config::get('facebook.app_id'),
      'secret' => Config::get('facebook.app_secret'),
));
$facebook->setAccessToken($token);
$user = $facebook->getUser();
if($user==0){
      return 'invalid token';
}
$facebook->setExtendedAccessToken();
$newToken = $facebook->getAccessToken();
return $newToken;

之后,客户端将保存newToken以用于将来的请求,问题是下次客户端将向我发送长期令牌时,我不需要用长期交换令牌令牌,因为它已经是一个长期令牌,我怎么知道令牌是长寿命还是短暂的?

1 个答案:

答案 0 :(得分:1)

使用facebook的图表debug_token端点: https://developers.facebook.com/docs/graph-api/reference/v2.2/debug_token

如果未设置data.issued_at,则令牌是短暂的令牌。