如何允许用户使用其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);