2013-02-28 41 views
0

在我當前的項目中,我使用api('/me','GET')來檢索當前登錄用戶的用戶數據。我有我的項目的同步選項給Facebook用戶,我也可以停用同步,問題是即使我註銷了我的Facebook並更​​改Facebook用戶並再次同步,它仍然返回以前的用戶數據。Facebook api('/ me','GET')即使註銷後也會返回用戶數據

這裏的代碼片段:

$user_profile = $facebook->api('/me','GET'); 

$fname = $user_profile["first_name"]; 

我使用$fname顯示Facebook的用戶一旦同步的名字,場景是:

*我的項目現在已經同步到我的Facebook用戶,然後我註銷我的Facebook並重新同步我的項目。但它顯示了我以前的用戶的名字。

我似乎無法理解爲什麼它保留了前一個用戶的用戶數據,唯一一次與新的Facebook用戶同步的是當我註銷並重新登錄我的網站項目時。順便說一句,我正在使用PHP SDK。

+0

把一些代碼說明流程 – Hemc 2013-02-28 07:48:24

+0

謝謝!那回答了它。 – 2013-03-08 12:38:02

回答

1

這可能是因爲access_token仍然有效。令牌通常被保存在cookie中,因此即使用戶從Facebook註銷,該cookie仍然可用,並且令牌保持有效,因爲它不鏈接到正在登錄或離開Facebook的用戶,而是直到您的應用程序它到期。

因此,您可以手動刪除cookie,以便您的應用在用戶註銷後無法訪問它。或者,您可以通過向'/ me/permissions`發送DELETE請求來使訪問令牌無效。

我不是100%確定的,但是這個過程在使用JS SDK時是自動的。

相關問題