2015-05-06 196 views
2

我已經成功實現了與Facebook的登錄,現在試圖實現註銷選項。FB.logout()不註銷Facebook用戶

包含的腳本https://connect.facebook.net/en_US/all.js

調用JavaScript的FB.logout();https://developers.facebook.com/

但我看到Facebook的會話仍然有效,用戶是不是在打「登錄與Facebook」或在Facebook網站上請求的Facebook用戶名和密碼。

如何測試FB.logout()是否正在工作。從以上行爲FB.logout()不起作用。

+0

你能否介紹一些不正常的代碼? – moffeltje

+0

這太奇怪了...溫我用Facebook SDK註銷,登錄狀態不斷返回我'未知'而不是'not_connected'。這太令人討厭了。 下面發佈的答案'FB.Auth.setAuthResponse(null,'unknown');'不適合我,因爲'我的FB對象中不存在'Auth'。也許是因爲SDK版本... – manonthemoon

回答

0

有一個在Facebook的JavaScript的SDK中的錯誤[Bug Link]

它解釋說,如果你已經檢查了Block third-party cookies and site data,SDK將不能註銷用戶,因爲餅乾留在你的瀏覽器。它說,

當您調用FB.logout我們檢查Facebook cookie設置爲 Facebook.com,如果它們是刪除它們。但是,當第三方 Cookie被禁用時,我們無法檢查Cookie是否存在 ,我們無法刪除它們。

因此,作爲一種變通方法,您可以使用下面的代碼,

FB.logout(function(response) { 
    FB.Auth.setAuthResponse(null, 'unknown'); 
    ... 
}); 
+2

在Facebook SDK 2.5中,我的'FB'對象中沒有'Auth'對象。 你使用哪個Facebook SDK版本@Lucky? – manonthemoon