2011-10-01 68 views
0

我正在爲圖API使用PHP Facebook 3.0 SDK,並且想要一個簡單的方法來確定當前是否存在活動令牌,以便我可以正常處理錯誤。如何確定是否有活躍的Facebook訪問令牌?

getUserAccessToken()是一個受保護的方法,所以我似乎無法用facebook對象訪問它。必須有一個簡單的方法去做

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

幫助任何人嗎?

回答

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; 
    } 
} 
?> 
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 
0

試試這個:

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