2016-05-22 7 views
1

Ich habe den Login über Facebook mit Parse-Server implementiert.FBSDKLoginManager funktioniert, PFFacebookUtils logInInBackgroundWithReadPermissions nicht

Wenn ich diese verwenden, erhalte ich Benutzerinformationen richtig:

FBSDKLoginManager *login = [[FBSDKLoginManager alloc] init]; 
[login 
logInWithReadPermissions: @[@"public_profile",@"email"] 
fromViewController:self 
handler:^(FBSDKLoginManagerLoginResult *result, NSError *error) { 
    if (error) { 
     NSLog(@"Process error"); 
    } else if (result.isCancelled) { 
     NSLog(@"Cancelled"); 
    } else { 
     NSLog(@"Logged in %@",result); 
     [self fetchUserInfo]; 
    } 
}]; 

aber ich will PFFacebookUtils für die einfache Erstellung eines Benutzers in Parse verwenden:

[PFFacebookUtils logInInBackgroundWithReadPermissions:@[@"public_profile",@"email"] block:^(PFUser *user, NSError *error) { 
    if (!user) { 
     //... 
    } else if (user.isNew) { 
     //... 
    } else { 
     //... 
    } 
}]; 

Die Facebook-modal erscheint mit der Berechtigungsanforderung , aber wenn ich ok drücke, erhalte ich folgende Fehlermeldung:

[Fehler]: Facebook auth ist für diesen Benutzer ungültig. (Code: 101, Version: 1.13.0).

Innerhalb der Anwendungseinstellungen auf Facebook, die App dort.

Antwort

0

Es tritt in der Parse-App auf, wenn der Benutzer Facebook-Passwort geändert oder Ihre App in den Anwendungseinstellungen auf Facebook entfernt hat.

User.authData sollte mit PFFacebookUtils.logInInBackgroundWithReadPermissions: aktualisiert werden, aber es scheint nicht aktualisiert zu werden. Ich denke, dass das Problem von Parse Server ist.

Problemumgehung: Wenn dieser Fehler aufgetreten ist, können Sie User.authData mit PFFacebookUtils.linkUserInBackground:withReadPermissions: aktualisieren.