Facebook取消对我的应用程序的授权

时间:2011-04-25 17:21:47

标签: php facebook

我可以使用Facebook PHP SDK取消对特定用户的应用程序的授权,基本上我喜欢切换,以便用户可以将他们的Facebook帐户链接或取消链接到我的网站,我有链接部分工作,现在只需要取消关联部分。

由于

6 个答案:

答案 0 :(得分:12)

现在,图谱API可以实现此目的:https://developers.facebook.com/docs/reference/api/user/#permissions

  

删除

     

您可以完全取消授权应用,也可以代表用户撤消特定权限,方法是向 USER_ID /权限发出 HTTP DELETE USER_ID /权限/ PERMISSION_NAME   分别。此请求必须使用有效的用户access_token或当前应用的应用访问令牌。

答案 1 :(得分:7)

使用图形API,这很好用:

$ret = $this->Facebook->api('/me/permissions', 'DELETE');

答案 2 :(得分:3)

不使用当前支持的Graph API:按照目前的设置,Graph API(甚至旧版API)中没有用于取消对应用程序授权的界面。用户必须明确选择通过Facebook设置页面自行完成。

...然而

遗留的REST api有http://developers.facebook.com/docs/reference/rest/auth.revokeAuthorization/,它的声音就像你想做的那样。

如果这对您有用,请告诉我:我很好奇。

答案 3 :(得分:1)

请注意Facebook在弃用REST API的过程中,并为“auth.revokeAuthorization”方法添加了对Graph API User对象的等效支持。

通过拨打应用程序来对用户进行脱钩或取消授权:

    $user_id = $this->facebook->getUser();
    $access_token=$this->facebook->getAccessToken();
    $result = $this->facebook->api(array(
            'method' => 'auth.revokeAuthorization',
            'uid' =>$user_id,
            'access_token'=>$access_token
    ));

答案 4 :(得分:1)

使用JS API,可以像这样取消授权应用程序:

FB.api('/me/permissions', 'DELETE', function(res){
    if(res === true){
        console.log('app deauthorized');
    }else if(res.error){
        console.error(res.error.type + ': ' + res.error.message);
    }else{
        console.log(res);
    }
});

或删除特定权限:

FB.api('/me/permissions/user_birthday', 'DELETE', function(res){
    if(res === true){
        console.log('permission removed');
    }else if(res.error){
        console.error(res.error.type + ': ' + res.error.message);
    }else{
        console.log(res);
    }
});

答案 5 :(得分:-1)

如果你去Facebook Developer,然后选择你的应用程序,然后在“高级”菜单下有一个名为“取消授权回拨”的字段。将此设置为您域上的URL,当用户取消授权时会对其进行ping操作,但有一些关于其请求的数据格式的文档here