我使用以下代码使用分享帖子给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权限。但是我没有获得许可,所以我怎么能得到并同时添加这个权限。
请帮助我....
答案 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设置了到期日期。所以它可能会在某个时候过时。