2012-01-29 101 views

回答

16

在用於圖形API的用戶對象中,您可以向/ PROFILE_ID /權限發出HTTP DELETE請求以撤消對應用程序的授權。

從官方文檔( developers.facebook.com/docs/reference/api/user/

可以解除授權的應用程序或通過發出一個HTTP DELETE請求 PROFILE_ID與/權限撤銷代表用戶的特定擴展 權限該應用的用戶access_token。

參數說明類型必需權限 希望撤銷的權限。如果你沒有指定權限,那麼這將會 完全取消授權應用程序。字符串否你得到 以下結果。

描述類型如果刪除成功則返回True,否則返回錯誤 。布爾

+0

有什麼不錯的是你可以做這個服務器或客戶端。無論你想要什麼。 – DMCS 2012-01-29 01:55:37

+1

正確的API鏈接是:https://developers.facebook.com/docs/facebook-login/permissions/v2.4#revokelogin – 2015-08-20 03:31:27

27

對於FB的JavaScript SDK

FB.api('/me/permissions', 'delete', function(response) { 
    console.log(response); // true 
}); 
+2

API鏈接:https://developers.facebook.com/docs/facebook- login/permissions/v2.4#revokelogin – 2015-08-20 03:31:48

+0

PHP SDK怎麼樣? – BBeta 2017-04-20 09:42:05

4

對於任何人誰都會覺得這是有幫助的,我失去的睡眠和擊毀我的大腦幾天試圖讓這個工作;

FB.api('/me/permissions', 'DELETE', function(response) { 
    if (response == true) { 
     window.top.location = 'logout-facebook.php'; 
    } else { 
     alert('Error revoking app'); 
    } 
}); 

當我觀察到返回的「響應」不是布爾值而是JSON對象時,我終於得到了這個工作。

返回的JSON對象是;

{ 
    success: "true" 
} 

OR

{ 
    success: "false" 
} 

在此之後,正確的代碼是;

FB.api('/me/permissions', 'DELETE', function(response) { 
    if (response.success == true) { 
     window.top.location = 'logout-facebook.php'; 
    } else { 
     alert('Error revoking app'); 
    } 
}); 

希望這可以幫助別人!