Je suis en train de faire la transition de mes applications sur le nouveau Facebook SDK 3.1 (avec le soutien de iOS6 d'authentification).
J'ai eu il fonctionne très bien, j'ai donc décidé de la supprimer de ma liste d'apps sur le FB du site web, afin de tester que iOS serait de leur demander la permission de nouveau.
Maintenant mon premier appel à [FBRequest requestForMe]
des causes de cette erreur:
Réponse:
{"error":{"message":"Erreur lors de la validation de jeton d'accès: Session ne correspond pas stockée actuelle session. Cela peut être parce que l'utilisateur a changé le mot de passe depuis le temps de la session a été créée ou Facebook a changé la session pour des raisons de sécurité.","type":"OAuthException","code":190,"error_subcode":460}}
Quelques détails:
Je suis en train d'ouvrir la session comme suit :
[FBSession openActiveSessionWithReadPermissions:nil
allowLoginUI:YES
completionHandler:^(FBSession *session, FBSessionState state, NSError *error) {
switch (state) {
case FBSessionStateOpen:
[self presentPostOptions];
break;
case FBSessionStateClosed:
case FBSessionStateClosedLoginFailed:
[FBSession.activeSession closeAndClearTokenInformation];
break;
default:
break;
}
J'ai ensuite appelé en FBSessionStateOpen
(à ce stade, iOS n'a pas présenté une demande de dialogue, c'est qu'à l'attendre)? Facebook enregistre:
2012-09-26 13:43:43.768 MyApp[2177:907] FBSDKLog: FBSession *non VALIDE transition de FBSessionStateCreated à FBSessionStateClosed 2012-09-26 13:43:43.769 MyApp[2177:907] FBSDKLog: FBSession transition de FBSessionStateCreated à FBSessionStateCreatedOpening 2012-09-26 13:43:43.837 MyApp[2177:907] FBSDKLog: FBSession transition de FBSessionStateCreatedOpening à FBSessionStateOpen*
Une fois que la session est ouverte, dans presentPostOptions je fais ceci:
- (void)presentPostOptions
{
[[FBRequest requestForMe] startWithCompletionHandler:^(FBRequestConnection *connection, NSDictionary<FBGraphUser> *user, NSError *error) {
if (!error) {
self.usersName = user.name;
self.usersID = user.id;
[self getPages];
}
else
{
[self didFailWithError:error];
}
}];
}
Avant de le au-dessus de l'achèvement de bloc est appelé retour, mon principal état bloc de gestionnaire est appelé avec un FBSessionStateClosed
de l'état. Dans l'intervalle, le Facebook SDK a enregistré l'erreur ci-dessus.
Je ne peux pas trouver un moyen de réinitialiser le système, je ne comprends vraiment la cause.
Quelqu'un peut s'il vous plaît faire un peu de lumière?