Facebook iOS:requestNewPublishPermissions不要求用户获得新的权限

我遇到了requestNewPublishPermissions的问题(我使用的是SDK版本3.17). Facebook文档说只用读取权限登录,然后再请求写入权限,这就是我想要做的.我可以让用户使用这样的代码登录:

[FBSession openActiveSessionWithReadPermissions:@[@"public_profile"]
                                   allowLoginUI:YES
                              completionHandler:^(FBSession *session, FBSessionState state, NSError *error)
{
     // Handler for session state changes
     // This method will be called EACH time the session state changes,
     // also for intermediate states and NOT just when the session open
     [self sessionStateChanged:session state:state error:error];
}];

然后当我想发布到时间轴时,我要求使用下面的代码扩展权限.该应用程序通过Facebook网页开始使用Safari.但该网页不是要求写入权限,而是说该应用程序已获得许可.然后当我点击正常,并且控制权返回到应用程序时,我没有发布权限.请参阅“这是最终结果!”下面.

我已尝试访问facebook.com并删除已在“Apps”下提供的权限.这没有任何区别.我还尝试过发布,但是这给了我一个错误,说我没有正确的权限.

有任何想法吗?

- (void) requestPublishPermission:(void (^)(void)) action
{
    // Request publish_actions
    [FBSession.activeSession requestNewPublishPermissions:[NSArray arrayWithObject:@"publish_actions"]
                                          defaultAudience:FBSessionDefaultAudienceFriends
                                        completionHandler:^(FBSession *session, NSError *error)
     {
         if (!error)
         {
             if ( [FBSession.activeSession.permissions indexOfObject:@"publish_actions"] == NSNotFound )
             {
                 // this is where it ends up!
             }
             else
             {
                 // Permission granted, publish the story
                 action();
             }
         }
         else
         {
             // permission denied, alert user
         }
     }];
}

最佳答案 您需要添加要登录的用户,如Developer / Tester.或者您需要将您的应用程序提交到Facebook进行审核.

点赞