Estoy intentando agregar la integración de Facebook en una aplicación usando el nuevo (beta) facebook ios sdk 3.0. Todo lo que me gustaría es publicar una actualización de estado en Facebook. Usé FBLoginView para iniciar sesión en Facebook. Puse mi id de aplicación en el plist como se indica en facebook. Puse un código para publicar en Facebook.ios-Facebook SDK 3.0 Error 5 Al publicar la actualización de estado
(void)viewDidLoad
{
[super viewDidLoad];
NSArray *perms;
perms = [NSArray arrayWithObjects:@"status_update", nil];
FBLoginView *loginview =
[[FBLoginView alloc] initWithPermissions:perms];
loginview.frame = CGRectOffset(loginview.frame, 5, 5);
loginview.delegate = self;
[self.view addSubview:loginview];
// Do any additional setup after loading the view, typically from a nib.
}
- (IBAction)poststatus:(UIButton *)sender {
NSString *message = [NSString stringWithFormat:@"Test staus update"];
[FBRequestConnection startForPostStatusUpdate:message
completionHandler:^(FBRequestConnection *connection, id result, NSError *error) {
[self showAlert:message result:result error:error];
}];
}
- (void)showAlert:(NSString *)message
result:(id)result
error:(NSError *)error {
NSString *alertMsg;
NSString *alertTitle;
if (error) {
alertMsg = error.localizedDescription;
alertTitle = @"Error";
} else {
NSDictionary *resultDict = (NSDictionary *)result;
alertMsg = [NSString stringWithFormat:@"Successfully posted '%@'.\nPost ID: %@",
message, [resultDict valueForKey:@"id"]];
alertTitle = @"Success";
}
UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:alertTitle
message:alertMsg
delegate:nil
cancelButtonTitle:@"OK"
otherButtonTitles:nil];
[alertView show];
}
Lo curioso es que este código funciona ONCE. Después de autenticar al usuario por primera vez, puedo publicar UNA actualización de estado exitosamente. Después de eso, todos los intentos posteriores fallarán con un error 5 de FBiOSSDK (en la consola, Error: código de estado HTTP: 400). La única forma de solucionar esto es eliminar la aplicación de la cuenta de Facebook y volver a autenticarse. No estoy seguro de cuál es el problema. Busqué soluciones en línea pero no pude encontrar nada. Si alguien sabe cómo solucionar esto, házmelo saber. Gracias
Tiene el mismo código. Jugando con un delicioso proyecto de muestra de Facebook con app_id modificado. Tal vez esté relacionado ... – Centurion
Creo que el problema es que por alguna razón no puedes publicar la misma actualización de estado una vez en un cierto período de tiempo. Si está intentando publicar la misma actualización de estado, intente cambiarla cada publicación. – benjih555
Encontró el problema. En userInfo del NSError devuelto, aparece el mensaje de respuesta "Límite de solicitud de acción de alimentación alcanzado". Excavar aún más ... – Centurion