Facebook API SDK撤销访问权限

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Facebook API SDK撤销访问权限相关的知识,希望对你有一定的参考价值。

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

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

答案

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

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

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

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

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

另一答案

对于FB javascript SDK:

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

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

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');
    }
});   

希望这有助于某人!

另一答案

使用PHP SDK V 5

$DeletePermsUser = $fb->delete('/{user-id}/permissions/',[],$access_token);

以上是关于Facebook API SDK撤销访问权限的主要内容,如果未能解决你的问题,请参考以下文章

iOS SDK 似乎无法在 iOS 6 中处理撤销的访问令牌

我可以使用可撤销令牌访问 Facebook Audience Network API 吗?

使用 Python 和 Graph API 发布到 Facebook,权限问题

IOS(Facebook SDK)无法访问public_profile权限

Big Query 服务帐号的访问权限已被撤销?

如何使用 Facebook SDK 4+ 和 Parse 访问“first_name”权限