Facebook SDK 4.x权限问题iOS

我正在尝试获取用户的时间轴上的Feed 。 我有一个loginbutton,我正在传递读取权限,包括user_posts 。 令人惊讶的是,Facebook不会授予我这个权限并且忽略它。

码:

 - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib. self.loginButton.readPermissions = @[@"public_profile", @"email", @"user_friends", @"user_posts"]; self.loginButton.delegate = self; if([FBSDKAccessToken currentAccessToken]) { NSLog(@"Have access token"); NSLog(@"permissions .... %@",[FBSDKAccessToken currentAccessToken].permissions); [self retrieveFeed]; } } #pragma mark - Login Delegate -(void) loginButton:(FBSDKLoginButton *)loginButton didCompleteWithResult:(FBSDKLoginManagerLoginResult *)result error:(NSError *)error { NSLog(@"Login Successfully!!"); NSLog(@"permissions .... %@",[FBSDKAccessToken currentAccessToken].permissions); [self retrieveFeed]; } -(void) loginButtonDidLogOut:(FBSDKLoginButton *)loginButton { } #pragma mark - Receive FB Feed -(void) retrieveFeed { FBSDKGraphRequest *request = [[FBSDKGraphRequest alloc] initWithGraphPath:@"/me/feed" parameters:nil]; FBSDKGraphRequestConnection *connection = [[FBSDKGraphRequestConnection alloc] init]; [connection addRequest:request completionHandler:^(FBSDKGraphRequestConnection *connection, id result, NSError *error) { NSLog(@"%@",result); if(error) NSLog(@"Some error FEED;;;;;; %@",error.localizedDescription); }]; [connection start]; } 

在点击loginbutton,我得到以下权限屏幕。 Facebook已经忽略了user_posts权限。

在这里输入图像说明

即使我在login之后尝试获得此权限,Facebook也告诉我,即使没有授予此权限, 我也已经授权应用程序这样做 。 获取新权限的代码是:

 -(void) checkForFeedPermission { if ([[FBSDKAccessToken currentAccessToken] hasGranted:@"user_posts"]) { NSLog(@"already granted feed access"); [self retrieveFeed]; } else { FBSDKLoginManager *loginManager = [[FBSDKLoginManager alloc] init]; [loginManager logInWithReadPermissions:@[@"user_posts"] handler:^(FBSDKLoginManagerLoginResult *result, NSError *error) { NSLog(@"requesting feed access"); [self retrieveFeed]; }]; } } 

我一直在这个问题上敲了三天。 请build议我哪里可以错了? 谢谢。

我认为,不要为授予user_posts作为面值Facebook开发人员文档许可你必须提交你的Facebook应用程序审查看到我附上截图明确表示。

在这里输入图像说明

所以你必须提交你的Facebook应用程序的login审查可能是那么你可以在loginTime设置此权限

如果您处于开发模式,还没有准备好发布Facebook的审查应用程序,那么最好的办法就是使用testing用户。 在你的Facebook应用程序仪表板去angular色和创build一些testing用户。 请注意,它是一个单独的选项卡而不是第一个选项卡中的testing人员。 当您创buildtesting用户时,您可以默认分配哪些权限应该分配给该用户。