Próbuję uzyskać Feed dla osi czasu zalogowanego użytkownika. Mam przycisk logowania, do którego przekazuję uprawnienia do odczytu, w tym user_posts
. O dziwo, Facebook nie udziela mi tego pozwolenia i ignoruje je.Facebook SDK 4.x Problem z pozwoleniem iOS
Kod:
- (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];
}
Na Kliknięcie przycisku logowania, mam następujący ekran uprawnień. Facebook zignorował zgodę na user_posts
.
Nawet jeśli próbuję uzyskać to uprawnienie później po zalogowaniu Facebook mówi mi, że już upoważnione app zrobić tak, nawet gdy nie ma ma takiego uprawnienie przyznane! Kod pozwalający uzyskać nowe pozwolenie to:
-(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];
}];
}
}
Od trzech dni łomotam nad tym problemem. Proszę, zasugeruj mi, gdzie mogę się mylić? Dzięki.
Oznacza to, że nie będę mógł uzyskać żadnego pozwolenia bez recenzji na Facebooku? – NightFury
Tak. Uprawnienia, które wymagają weryfikacji, są zwykle sprawdzane w ciągu 3 dni roboczych. Niektóre uprawnienia mogą potrwać do 7 dni w celu sprawdzenia i są oznaczone jako takie w pliku referencyjnym. Uprawnienia, które nie wymagają recenzji: uprawnienia profilu publicznego (domyślne), przyjaciele aplikacji, uprawnienia do poczty e-mail. – Tanuj
to nie jest dla żadnego pozwolenia, które jest dla user_post –