-2

我正在使用以下代码,将帖子分享到 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 权限。但我没有获得许可,所以我怎样才能获得并添加此许可。

请帮我....

4

1 回答 1

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 设置了过期时间。所以它可能会在某个时候过时。

于 2016-09-22T13:50:22.353 回答