获取facebook的publish_actions权限

时间:2016-09-22 13:41:11

标签: ios objective-c facebook facebook-graph-api fbsdksharekit

我使用以下代码使用分享帖子给Facebook。

if ([[FBSDKAccessToken currentAccessToken] hasGranted:@"publish_actions"]) {
[[[FBSDKGraphRequest alloc]
initWithGraphPath:@"me/feed"
                 parameters: @{ @"message" : @"hello world"}
           HTTPMethod:@"POST"]
startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection, id result, NSError *error) {
if (!error) {
  NSLog(@"Post id:%@", result[@"id"]);
}
}];
}

如果我想发布状态更新,则需要publish_actions权限。但是我没有获得许可,所以我怎么能得到并同时添加这个权限。

请帮助我....

1 个答案:

答案 0 :(得分:1)

访问令牌持有"范围"表示特定用户允许的权限的信息。

要获取应用的publish_actions,您需要通过提交所需的其他权限向Facebook申请审核。一旦获得批准,您将能够获得适当的访问权限。

您可以通过向Facebook发送请求来获取访问令牌,如下所示:

https://www.facebook.com/dialog/oauth/access_token?   client_id={app-id}   &redirect_uri={redirect-uri}   &scope={scope-params}

client-id:您在Facebook中创建的每个应用都有client-id。你可以在facebook-developers下的仪表板中看到它。 (当然,这意味着你必须在Facebook上创建这样的应用程序)

scope中,您必须命名要使用的所有权限(以逗号分隔)。你可以在这里找到一个概述: https://developers.facebook.com/docs/facebook-login/permissions

请注意,access_token设置了到期日期。所以它可能会在某个时候过时。