2012-02-04 83 views
0

這讓我瘋狂,我想不通爲什麼這個簡單的頁面會有問題讓我登錄和註銷我的應用程序?Facebook的PHP的SDK - getLoginUrl()和getLogoutUrl()不工作

我得到的錯誤是:

OAuthException:活動的訪問令牌必須用於查詢當前用戶

<?php 
date_default_timezone_set('America/Denver'); 
include_once('fb-sdk/src/facebook.php'); 
$appid = '****'; 
$appsecret = '****'; 

$facebook = new Facebook(array(
    'appId' => $appid, 
    'secret' => $appsecret, 
    'cookie' => true, 
)); 

$logoutUrl = $facebook->getLogoutUrl(); 

$loginUrl = $facebook->getLoginUrl(); 

try{ 
$user = $facebook->api('/me'); 
echo '<h1>HELLO '.$user['full_name'].'</h1>'; 
}catch(Exception $e){ 

    echo $e; 
} 

    echo '<a href="'.$logoutUrl .'">logout</a> '; 

    echo '<a href="'.$loginUrl .'">login</a> '; 
?> 
+1

登錄網址顯示是否正確? – 2012-02-04 09:19:43

回答

0

我認爲你需要指定權限的信息

$params = array(
'scope' => 'read_stream, friends_likes', 
'redirect_uri' => 'https://www.myapp.com/post_login_page' 
); 

$loginUrl = $facebook->getLoginUrl($params); 
+0

參數是可選的,不必擁有它們。 – 2012-02-04 19:42:28

0

從您的代碼中刪除echo $e;,我t不應該顯示消息。

+0

它確實顯示echo $ e的錯誤:OAuthException:必須使用活動的訪問令牌來查詢有關當前用戶的信息 – 2012-02-04 19:42:53

+0

這是否表示當您無法獲取用戶已註銷的$用戶並且您需要給他們登錄按鈕? – CoderFromOuterSpace 2012-02-04 20:46:43

+0

它會刪除郵件,但不會使錯誤消失 – 2012-02-05 04:55:16