2012-01-09 57 views
1

即使我登出Facebook,我似乎無法將訪問令牌作爲無效訪問。如何正確捕獲訪問令牌?

if ($user) { 
      try { 
      // Proceed knowing you have a logged in user who's authenticated. 
      $user_profile = $facebook->api('/me'); 
echo "Name: " . $user_profile['name']; 
      } catch (FacebookApiException $e) { 
    // If the user is logged out, you can have a 
      // user ID even though the access token is invalid. 
      // In this case, we'll get an exception, so we'll 
      // just ask the user to login again here. 
      error_log($e); 
      $user = null; 
      } 
     } 

即使我登出Facebook,我仍然收到用戶名。顯然訪問令牌似乎仍然有效。我怎樣才能解決這個問題?

或者我應該只在FB環境中在iframe中測試我的應用程序嗎?

+0

任何人?不知何故,我無法捕捉異常? – alex 2012-01-10 16:52:49

回答

0

訪問令牌不依賴於您在Facebook上的身份驗證狀態。您正在使用的Facebook PHP SDK將訪問令牌存儲在PHP會話中。所以,你可以清理你的會話。

+0

tx奧列格爲清理起來,我會嘗試你的建議。我必須start_session嗎?或者它是PHP-SDK的一部分但是你知道爲什麼FB的默認代碼不起作用嗎?代碼位於https://developers.facebook.com/docs/reference/php/facebook-api/ – alex 2012-01-11 21:00:18

+0

start_session是PHP-SDK的一部分。默認代碼不包含有效的appId和祕密;) – Oleg 2012-01-12 09:17:09