Facebook API SDK撤销访问权限

Fra*_*ank 14 facebook facebook-graph-api

如何允许用户使用其API服务SDK撤销对我的应用程序的访问权限.http://developers.facebook.com/docs/sdks/

查看文档,我找不到有关撤消访问权限的任何内容.

Zac*_*bey 31

对于FB JavaScript SDK:

FB.api('/me/permissions', 'delete', function(response) {
    console.log(response); // true
});
Run Code Online (Sandbox Code Playgroud)

  • API链接:https://developers.facebook.com/docs/facebook-login/permissions/v2.4#revokelogin (2认同)

the*_*rmz 18

在用户对象的图形API中,您可以向/ PROFILE_ID /权限发出HTTP DELETE请求以撤消对应用程序的授权.

从官方文档(developers.facebook.com/docs/reference/api/user/):

您可以通过向该应用程序的用户access_token发出对PROFILE_ID /权限的HTTP DELETE请求来代表用户取消授权应用程序或撤消特定的扩展权限.

参数描述类型所需权限您要撤消的权限.如果您未指定权限,那么这将完全取消授权应用程序.string no您将得到以下结果.

说明如果删除成功则键入True,否则返回错误.布尔


小智 5

对于任何认为有帮助的人,我几天来都在努力入睡,这使我失去了睡眠并伤脑筋。

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

当我观察到返回的“响应”不是布尔值而是JSON对象时,我终于使它起作用。

返回的JSON对象是:

{
    success: "true"
}
Run Code Online (Sandbox Code Playgroud)

要么

{
    success: "false"
}
Run Code Online (Sandbox Code Playgroud)

之后,正确的代码是;

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

希望这对某人有帮助!