page obtener developers facebook-graph-api ios6 facebook-access-token

facebook-graph-api - developers - obtener access token facebook



Token de acceso a Facebook caducado-Marco social iOS 6 (1)

Estoy haciendo una aplicación basada en iOS6 Social Framework ... funcionaba bien, pero ahora después de unos meses recibí un error extraño.

Mi NSLog de datos de Facebook JSON importados a un NSDictionary es:

profiledictionary: { error = { code = 190; "error_subcode" = 463; message = "Error validating access token: Session has expired at unix time 1365610034. The current unix time is 1366032783."; type = OAuthException;

Parece que mi token de acceso ha caducado, pero ¿no se supone que iOS6 Social Framework se ocupará de ello automáticamente?

¿Alguna idea sobre cómo puedo solucionarlo y también evitar problemas futuros como ese, para que pueda publicar una aplicación real?


finalmente lo obtuve ... era necesario verificar si NSDictionary tenía un objeto llamado "error" (en este caso el error de Facebook sobre token expiró), y si es así, llamar a un método para renovar ACAccount:

if([self.profileDictionary objectForKey:@"error"]!=nil) { [self attemptRenewCredentials]; } -(void)attemptRenewCredentials{ [self.accountStore renewCredentialsForAccount:(ACAccount *)self.facebookAccount completion:^(ACAccountCredentialRenewResult renewResult, NSError *error){ if(!error) { switch (renewResult) { case ACAccountCredentialRenewResultRenewed: NSLog(@"Good to go"); [self getFacebookAccount]; break; case ACAccountCredentialRenewResultRejected: NSLog(@"User declined permission"); break; case ACAccountCredentialRenewResultFailed: NSLog(@"non-user-initiated cancel, you may attempt to retry"); break; default: break; } } else{ //handle error NSLog(@"error from renew credentials%@",error); } }]; }