проблемы с использованием Facebook Iphone API для публикации изображения и текста - PullRequest
0 голосов
/ 18 июня 2010

Я пытался использовать Facebook iphone API для публикации изображения и некоторого текста из моего приложения (например, с помощью вызова FBRequest: @ "facebook.stream.publish" с соответствующими параметрами.

I 'мы обнаружили, что это поведение крайне неустойчиво, так как оно сначала работало нормально, когда я его реализовал, затем полностью перестало работать (запрос не выполнялся и ничего не отображалось), а теперь иногда публикует только текст, а большую часть времени публикует толькоизображение в стиле галереи (возвращающее ошибку).

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

Ответы [ 4 ]

0 голосов
/ 22 марта 2011

Существует некоторая путаница между API Facebook и SDK.

См. этот ответ , вместо stream.publish ваше намерение использовать feed, однако, когда этот ответ был написан, вы все равно должны были использовать stream.publish, с тех пор он мог обновляться. Надеюсь, я указал вам правильное направление.

0 голосов
/ 21 июня 2010

То же самое, я несколько дней назад реализовал общий доступ к изображениям и текстам на iphone на Facebook с использованием их собственного API, и поведение изменилось с нормального на непредсказуемое и непредсказуемое.

Что меня действительно раздражает, так это то, что в симуляторе всегда , кажется, работает. Вы тоже видели это?

(кстати, я на самом деле не загружаю изображение на Facebook, я просто публикую сообщение со ссылкой на размещенное мной изображение)

Возможно, вам лучше придерживаться простого бэкэнда, который вы можете полностью контролировать сами. Решение, которое я использую для социальных сетей без (стабильного) iphone API, состоит в том, чтобы загрузить изображение в мой бэкэнд, а затем просто добавить UIWebView и позволить бэкенду обрабатывать все OAuth и публикации. UIWebView перезванивает на

вашего приложения
-(BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType

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

Основные преимущества 1) вы можете исправить вещи, когда Facebook ломает их 2) есть сотни проверенных библиотек для использования

0 голосов
/ 21 июня 2010

ОБНОВЛЕНИЕ: Вы можете добавить в FBStreamDialog.m проверку, если _session.apiKey не ноль. Если это так, то словарь останется пустым, а в сообщении появится пустой экран.

Пример кода, предоставленного Facebook:

FBStreamDialog* dialog = [[[FBStreamDialog alloc] init] autorelease];

см. http://wiki.developers.facebook.com/index.php/Facebook_iPhone_SDK

Затем инициализация FBDialog подхватывает глобальный объект сеанса, но иногда он явно терпит неудачу.

Когда вы сами управляете сеансом и используете:

[[[FBStreamDialog alloc] initWithSession:self.fb_session] autorelease];

Все работает нормально.

0 голосов
/ 18 июня 2010

Похоже, что фейсбук по-королевски испортил любого, кто использует потоковую публикацию для публикации изображений Похоже, они отключили возможность помещать изображение, которое вы отправляете в ваш пост. Проверьте эту ветку ошибок около 10 июня.

http://developers.facebook.com/show_bug.cgi?id=7345

Если не считать хостинга образа самостоятельно, если кто-нибудь знает другой способ заставить такую ​​вещь работать, было бы здорово услышать.

...