如何确定是否存在活动的Facebook访问令牌?

时间:2011-10-01 04:02:51

标签: php facebook-graph-api facebook-php-sdk

我正在使用PHP Facebook 3.0 SDK进行图形API,并想要一种简单的方法来确定当前是否存在活动令牌,以便我可以优雅地处理错误。

getUserAccessToken()是受保护的方法,所以我似乎无法使用facebook对象访问它。必须有一个简单的方法

if(active token){ do stuff} else{ don't}

帮助任何人?

3 个答案:

答案 0 :(得分:1)

Facebook PHP SDK Example包含您需要的所有代码:

<?php
require '../src/facebook.php';

$facebook = new Facebook(array(
  'appId'  => '',
  'secret' => '',
));

$user = $facebook->getUser();

if ($user) {
  try {
    $user_profile = $facebook->api('/me');
  } catch (FacebookApiException $e) {
    error_log($e);
    $user = null;
  }
}
?>

答案 1 :(得分:0)

也许你可以使用这种类型的代码:

$data=file_get_contents('https://graph.facebook.com/me?access_token=xxx');
foreach ($http_response_header as $rh) if (substr($rh, 0, 4)=='HTTP') list(,$status,)=explode(' ', $rh, 3);
if ($status==200 && $data)
    //Token is good, parse data
else
    //Token is no good

答案 2 :(得分:0)

试试这个:

try {
    $User = $Facebook->api('/me');
} catch(Exception $e) {
    echo 'No active token.';
    echo $e->getMessage();
}