我正在使用PHP Facebook 3.0 SDK用于图形API,并且想要一种简单的方法来找出当前是否有活动令牌,以便我可以优雅地处理错误。
getUserAccessToken()
是一个受保护的方法,所以我似乎无法使用facebook对象访问它。必须有一个简单的方法来做
if(active token){ do stuff} else{ don't}
帮助任何人吗?
Facebook PHP SDK示例包含了您需要的所有代码:
<?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;
}
}
?>
也许你可以使用这种类型的代码:
$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
试试这个:
try {
$User = $Facebook->api('/me');
} catch(Exception $e) {
echo 'No active token.';
echo $e->getMessage();
}