Facebook API SDK撤销访问权限

问题描述 投票:14回答:4

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

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

facebook facebook-graph-api
4个回答
18
投票

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

来自官方文件(developers.facebook.com/docs/reference/api/user/):

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

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

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


31
投票

对于FB JavaScript SDK:

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

5
投票

对于任何会发现这种情况有帮助的人来说,我正在失去睡眠,并且在试图让这个工作起来的几天里破坏了我的大脑;

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"
}

要么

{
    success: "false"
}

之后,正确的代码是;

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

希望这有助于某人!


0
投票

使用PHP SDK V 5

$DeletePermsUser = $fb->delete('/{user-id}/permissions/',[],$access_token);
© www.soinside.com 2019 - 2024. All rights reserved.