La operación no se pudo completar. (com.facebook.sdk error 5.) FACEBOOK VIDEO CARGAR

Escribí el siguiente código para upload videos a Facebook desde un dispositivo iOS.

-(void)uploadVideo { NSLog(@"UPload Videio "); NSString *filePath = [[NSBundle mainBundle] pathForResource:@"sample" ofType:@"mov"]; NSLog(@"Path is %@", filePath); NSData *videoData = [NSData dataWithContentsOfFile:filePath]; NSMutableDictionary *params = [NSMutableDictionary dictionaryWithObjectsAndKeys: videoData, @"video.mov", @"video/quicktime", @"contentType", @"Video Test Title", @"title", @"Video Test Description", @"description", nil]; // [facebook requestWithGraphPath:@"me/videos" // andParams:params // andHttpMethod:@"POST" // andDelegate:self]; if (FBSession.activeSession.isOpen) { [FBRequestConnection startWithGraphPath:@"me/videos" parameters:params HTTPMethod:@"POST" completionHandler:^(FBRequestConnection *connection, id result, NSError *error) { if(!error) { NSLog(@"OK: %@", result); } else NSLog(@"Error: %@", error.localizedDescription); }]; } else { // We don't have an active session in this app, so lets open a new // facebook session with the appropriate permissions! // Firstly, construct a permission array. // you can find more "permissions strings" at http://developers.facebook.com/docs/authentication/permissions/ // In this example, we will just request a publish_stream which is requinetworking to publish status or photos. NSArray *permissions = [[NSArray alloc] initWithObjects: @"publish_stream", nil]; //[self controlStatusUsable:NO]; // OPEN Session! [FBSession openActiveSessionWithPermissions:permissions allowLoginUI:YES completionHandler:^(FBSession *session, FBSessionState status, NSError *error) { // if login fails for any reason, we alert if (error) { // show error to user. } else if (FB_ISSESSIONOPENWITHSTATE(status)) { // no error, so we proceed with requesting user details of current facebook session. [FBRequestConnection startWithGraphPath:@"me/videos" parameters:params HTTPMethod:@"POST" completionHandler:^(FBRequestConnection *connection, id result, NSError *error) { // [FBRequestConnection setVideoMode:NO]; if(!error) { NSLog(@"VEEERRRRRRR: %@", result); } else NSLog(@"VVEEERRRRREEEERRR: %@", error.localizedDescription); }]; //[self promptUserWithAccountNameForUploadPhoto]; } // [self controlStatusUsable:YES]; }]; } } 

Esto me da error. La operación no se pudo completar. (com.facebook.sdk error 5.)

No sé qué está mal con Facebook. Carga la image, el text, pero en video da este error.

NOTA:

  1. No se debe enviar una y otra vez, ya que también probé haciendo una nueva count y reiniciando iOS Device.
  2. sample.mov también existe y funciona con api de charts, pero el problema es con este SDK.

Gracias.

Pocas causas para ver com.facebook.sdk error 5:

  • La session no está abierta. Validar.
  • Facebook ha detectado que está enviando spam al sistema. Cambia el nombre del video.
  • Facebook tiene un límite definido utilizando el SDK. Prueba una aplicación diferente.
  • El permiso de publicación incorrecto. Dar publish_actions un giro.
  • más aquí… ?

Después de haber leído esta solución. Pude resolver este problema.

 [FBRequestConnection startWithGraphPath:@"me/videos" completionHandler:^(FBRequestConnection *connection, id result, NSError *error) { [FBRequestConnection startWithGraphPath:@"me/videos" parameters:params HTTPMethod:@"POST" completionHandler:^(FBRequestConnection *connection, id result, NSError *error) { if(!error) { NSLog(@"SUCCESS RESULT: %@", result); } else { NSLog(@"ERROR: %@", error.localizedDescription); } }]; }]; 

Tenía este problema todo el día cuando noté que mi aplicación no aparece en:

Configuración App-> Facebook -> "PERMITA QUE ESTAS APLICACIONES UTILEN TU CUENTA"

Esto me hizo darme count de que la publicación en Facebook no está permitida por defecto, debes pedirle permiso al usuario:

  [[FBSession activeSession] requestNewPublishPermissions:@[@"publish_actions"] defaultAudience:FBSessionDefaultAudienceFriends completionHandler:^(FBSession *session, NSError *error) { if (!error) { // UPLOAD VIDEO HERE AND THAT ERROR 5 SHOULD GO AWAY } }];