图谱 API 版

User permissions

Returns a list of granted and declined permissions.


Revoking Permissions

Apps can let people revoke permissions that were previously granted. For example, your app could have a settings page that lets someone disable publishing to Facebook. That settings page could also revoke the publish_actions permission at the same time.

You can revoke a specific permission by making a call to a Graph API endpoint:

DELETE /{user-id}/permissions/{permission-name}

This request must be made with a user access token or an app access token for the current app. If the request is successful, you will receive a response of true.

读取

例子

Graph API Explorer
GET /v21.0/{user-id}/permissions HTTP/1.1
Host: graph.facebook.com
/* PHP SDK v5.0.0 */
/* make the API call */
try {
  // Returns a `Facebook\FacebookResponse` object
  $response = $fb->get(
    '/{user-id}/permissions',
    '{access-token}'
  );
} catch(Facebook\Exceptions\FacebookResponseException $e) {
  echo 'Graph returned an error: ' . $e->getMessage();
  exit;
} catch(Facebook\Exceptions\FacebookSDKException $e) {
  echo 'Facebook SDK returned an error: ' . $e->getMessage();
  exit;
}
$graphNode = $response->getGraphNode();
/* handle the result */
/* make the API call */
FB.api(
    "/{user-id}/permissions",
    function (response) {
      if (response && !response.error) {
        /* handle the result */
      }
    }
);
/* make the API call */
new GraphRequest(
    AccessToken.getCurrentAccessToken(),
    "/{user-id}/permissions",
    null,
    HttpMethod.GET,
    new GraphRequest.Callback() {
        public void onCompleted(GraphResponse response) {
            /* handle the result */
        }
    }
).executeAsync();
/* make the API call */
FBSDKGraphRequest *request = [[FBSDKGraphRequest alloc]
                               initWithGraphPath:@"/{user-id}/permissions"
                                      parameters:params
                                      HTTPMethod:@"GET"];
[request startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection,
                                      id result,
                                      NSError *error) {
    // Handle the result
}];
如果你希望详细了解如何使用图谱 API,请阅读我们的图谱 API 指南

参数

参数描述
permission
string

Permission name

status
enum{granted, declined, expired}

Permission status

字段

从这条连线读取将返回一个 JSON 格式的结果:

{ "data": [], "paging": {} }

data

Permission 节点列表。

paging

详细了解分页功能,请见图谱 API 指南

错误代码

错误描述
200Permissions error
100Invalid parameter
190Invalid OAuth 2.0 Access Token
459The session is invalid because the user has been checkpointed
368The action attempted has been deemed abusive or is otherwise disallowed
104Incorrect signature
483The session is invalid because the user is in consent app blocking

创建

你无法在此端点执行该操作。

更新

你无法在此端点执行该操作。

删除

你可以向 /{user_id}/permissions 发出 DELETE 请求,将 a Permission 与 a User 取消关联。

参数

参数描述
permission
string

permission which wanted to be remove

返回类型

Struct {
success: bool,
}

错误代码

错误描述
190Invalid OAuth 2.0 Access Token
100Invalid parameter
613Calls to this api have exceeded the rate limit.
200Permissions error
102Session key invalid or no longer valid
240Desktop applications cannot call this function for other users