2012-06-01 49 views
0

如何檢查用戶是否使用php-sdk 3.1.1從Facebook登錄? 我在做這樣的:facebook php連接檢查cookie

$user = $this->facebook->getUser(); 
if ($user) { 

所以,如果使用者,我知道他是記錄,但它需要很長時間與Facebook的對象進行溝通,如果我只能用PHP檢查如果Facebook coockie是存在的,所以我知道如果有人登錄。

因此,關於速度的optimalisation,也許這也是好主意,只有一次與Facebook和繼電器上我的會議或coockie登錄

能有人給我一些這方面的反饋?

回答

0

如果您執行檢查,則可以將結果存儲在某個地方,例如在會話中。

您無法檢查其他域的cookie。

+0

我可以儲存它是沒有問題的,但如果有人從Facebook註銷我需要再次檢查,如果($ user)和它需要創建的Facebook對象,這需要時間 – user1405338

+0

你沒有太多的選擇。 Facebook服務器速度很快(當他們工作時,不像今天!),所以緩慢是你的最終/你的服務器。將您的服務器/站點移到Facebook附近 - 將您的網站放在加州的服務器上。 – Robbie

0

getUser()方法將嘗試從簽名請求(從請求或cookie)獲取用戶標識。它不會默認調用Facebook服務器。

您不會失去創建Facebook對象的任何性能/速度。

您應該按照這個僞代碼:

call getUser method 
if user 
    if(!isset($_SESSION['user'])) 
    get user data using graph api 
    store it in session 
    else 
    if($_SESSION['user']['fb_id'] != $user){ 
    get user data using graph api 
     store it in session   
    end 
    end 

end