He visto un par de publicaciones sobre este tema, pero hasta ahora nada parece haberme ayudado. Básicamente, estoy escribiendo una aplicación de iOS e intento publicar una foto en un álbum de Facebook usando Graph API. Los datos de imagen se descargan primero de un servidor y luego se envían a Facebook. Estoy utilizando la clase ASIFormDataRequest y la url https://graph.facebook.com/MY_ALBUM_ID/photos, pero yo estoy constantemente el siguiente error:Error de Facebook al cargar una foto en un álbum a través de Graph API e iOS: (# 1) Se produjo un error desconocido
error = {
message = "(#1) An unknown error occurred";
type = OAuthException;
};
Mi solicitud es el siguiente:
ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:[NSURL URLWithString:url]];
self.photoRequest = request;
[request setDelegate:self];
[request setPostValue:token forKey:@"access_token"];
[request setPostValue:message forKey:@"message"];
[request setTimeOutSeconds:240];
[request setRequestMethod:@"POST"];
UIImage *image = [UIImage imageWithData:data];
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
NSData *imageData = UIImageJPEGRepresentation(image, 0.8);
[request setData:imageData forKey:@"source"];
dispatch_async(dispatch_get_main_queue(), ^{
[request startAsynchronous];
});
});
La parte extraña es que estoy usando exactamente el mismo método para subir fotos a mi servidor para una parte diferente de la aplicación, y todo funciona bien. Incluso cargué la foto que estoy tratando de enviar a Facebook a mi servidor para ver si los datos estaban PUBLICANDO correctamente. Todo salió bien.
He leído que Facebook puede a veces escupir el error que estoy viendo si tiene un problema con el formato de la imagen, pero el error en sí mismo es bastante nebuloso. Sé que access_token es válido. Todas las demás solicitudes que estoy haciendo en Facebook están funcionando bien.
¿Alguna idea?
¿Has pensado en un problema relacionado con la red? como por un cortafuegos? o tal vez una imagen demasiado grande? :) de los resultados de búsqueda de Google veo que parece un HTTP 400, que es una solicitud mal formada ... –
@Vincent G Definitivamente no es un problema relacionado con la red **. Como prueba, cargué una imagen aleatoria de mi proyecto usando '[UIImage imageNamed: @" imageName "];' en vez de 'UIImage * image = [UIImage imageWithData: data];' y se publicó correctamente. Estamos utilizando ImageMagick en nuestro servidor para generar la imagen que estoy tratando de enviar. Parece que el problema radica en los datos de imagen generados por ImageMagick. – harrisonlee
Bien, entonces el problema está más allá de ImageMagick. Jugar en Photoshop e intentar agregar imágenes a Facebook: algunos trabajos, otros no. No puedo encontrar lo que se trata de imágenes particulares que no desean cargar. Las imágenes que no se cargan desde mi aplicación tampoco se cargan cuando intento publicarlas manualmente en Facebook. Extraño. – harrisonlee