我正在使用v3的JS SDK和PHP SDK的Facebook連接。當在示例代碼here尋找有,我想知道關於部分(我壓縮它有點由於長度)我是否總是需要執行測試查詢以確保會話有效?
// Get User ID
$user = $facebook->getUser();
// We may or may not have this data based on whether the user is logged in.
//
// If we have a $user id here, it means we know the user is logged into
// Facebook, but we don't know if the access token is valid. An access
// token is invalid if the user logged out of Facebook.
if ($user) {
try {
// Proceed knowing you have a logged in user who's authenticated.
$user_profile = $facebook->api('/me');
} catch (FacebookApiException $e) {
error_log($e);
$user = null;
}
}
// Login or logout url will be needed depending on current user state.
if ($user)
$logoutUrl = $facebook->getLogoutUrl();
else
$loginUrl = $facebook->getLoginUrl();
在開始和註銷碼關注我的位置的大評論。他們似乎暗示getUser()
不會保證獲取用戶ID意味着一切都是有效的,但您仍然必須再次聯繫Facebook(在本例中它只是獲取用戶個人資料信息)以完全驗證everthing是否正常。這是真的?
我之所以會問,是因爲我想剪出代碼(在這種情況下,不規範的後端請求),我不需要,對於我的傾訴,我不需要每個頁面加載時的用戶全部用戶配置文件,如果用戶登錄,我只需要FB ID。
我很害怕那個。謝謝你的回答 – TheLQ 2012-02-08 19:33:07
@TheLQ - 沒問題。您也可以使用JavaScript SDK驗證用戶的某些Ajax操作;) – Lix 2012-02-08 19:34:50