Ошибка Facebook при загрузке фотографии в альбом через Graph API и iOS: (# 1) произошла неизвестная ошибка - PullRequest
5 голосов
/ 04 июня 2011

Я видел пару сообщений об этой проблеме, но пока мне ничего не помогло.По сути, я пишу приложение для iOS и пытаюсь опубликовать фотографию в альбом Facebook с помощью Graph API.Данные изображения сначала загружаются с сервера, а затем отправляются в Facebook.Я использую класс ASIFormDataRequest и URL https://graph.facebook.com/MY_ALBUM_ID/photos,, но постоянно получаю следующую ошибку:

error =     {
    message = "(#1) An unknown error occurred";
    type = OAuthException;
};

Мой запрос выглядит так:

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];
    });
});

Странно то, что я использую точно такой же метод для загрузки фотографий на свой сервер для другой части приложения, и все работает отлично.Я даже загрузил фотографию, которую я пытаюсь отправить в Facebook, на мой сервер, чтобы проверить, правильно ли отправляются данные.Все получилось хорошо.

Я читал, что Facebook иногда может выплевывать сообщение об ошибке, которое я вижу, если у него проблемы с форматом изображения, но сама по себе ошибка довольно туманна.Я знаю, что мой access_token действителен.Все остальные запросы, которые я делаю в Facebook, работают нормально.

Есть мысли?

Ответы [ 3 ]

3 голосов
/ 07 июня 2011

Хорошо, я понял!

Как оказалось, Facebook имеет ограничения по соотношению к загруженным изображениям. Я до сих пор не уверен, что это такое, но в моем случае изображение размером 198x715 не соответствовало их требованиям к соотношению. Мы связались с одним из знакомых парней из команды разработчиков Facebook, и он сказал, что они не собираются менять ограничения, но они добавили бы лучшую передачу сообщений в ошибку API.

Надеюсь, это поможет кому-нибудь с подобными проблемами.

0 голосов
/ 13 февраля 2012

Как указано в этот ответ проблема может быть вызвана, когда ваше приложение находится в режиме песочницы.

0 голосов
/ 07 октября 2011

Существует ограничение изображения, которое не задокументировано, или, по крайней мере, я ничего не смог найти, ограничение соотношения сторон составляет 1: 3, когда высота больше ширины изображения.Я сделал много тестов, чтобы подтвердить это, и я могу заверить вас, что это предел на сегодняшний день.

...