Vor allem habe ich sowohl this und this Fragen zu lösen das Problem unten und bevor Sie Fragen zu lösen.Handle ungültigen accessToken mit FBSession openActiveSessionWithReadPermissions in Facebook iOS 3.1.1 SDK
Mein Problem ist, dass, wenn die accessToken abgelaufen werden (entweder weil das Verfallsdatum passiert, oder manuell durch die App von meinem Facebook-App Center zu löschen) dem folgenden Code:
if ([[FBSession activeSession] isOpen]) {
//do something
}
else {
[FBSession openActiveSessionWithReadPermissions:nil allowLoginUI:YES completionHandler:^(FBSession *session, FBSessionState status, NSError *error) {
if(FB_ISSESSIONOPENWITHSTATE(status)) {
//do something
}
}
}];
}
wird im else-Block mit FBSession.activeSession geöffnet, aber wenn die 'etwas tun' ist der AccessToken ungültig, so die Anfrage bekommt Fehler: HTTP-Statuscode: 400. Wenn ich versuche, die gesamte Prozedur zweimal sofort die FBSession fragt um Erlaubnis (entweder UIAlertView für iOS6 integrierte Facebook, Facebook App oder Facebook-Website in Safari) und der Rest läuft reibungslos.
Mein Anliegen ist, warum ich zweimal alles gut machen muss und warum Facebook SDK beim ersten Mal nicht erkennen kann, dass activeSession und accessToken ungültig sind.
Vielen Dank im Voraus!
Vielen Dank Chris! Es scheint zu funktionieren, aber nicht mit einer zweiten Wiederholung, sondern mit der vierten. Ich nehme an, dass es in einem nächsten SDK-Update behoben sein wird. – ozzotto
Der Ansatz zum Ermitteln des Fehlercodes scheint nicht zuverlässig zu funktionieren. Ich denke, das JSON-Format ist nicht konsistent: Fehler Domain = com.facebook.sdk Code = 5 "Die Operation konnte nicht abgeschlossen werden. (Com.facebook.sdk Fehler 5.)" UserInfo = 0x12c81710 {com.facebook.sdk : ParsedJSONResponseKey = ( { body = { error = { code = 190; message = "die Zugriffstoken auf dem Gerät wurde für ungültig erklärt."; type = OAuthException; }; }; code = 400; } ), com.facebook.sdk: HTTPStatusCode = 400} – MaxGabriel
- [__ NSArrayM objectForKeyedSubscript:]: unerkannter Selektor an Instanz gesendet – MaxGabriel