Загрузка UIImage с помощью FBDialog

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

В настоящее время я использую это, чтобы опубликовать UIImage на facebook:

NSMutableDictionary *params = [NSMutableDictionary dictionaryWithObjectsAndKeys:
                               @"A caption", @"caption",
                               nil];
[_facebook requestWithMethodName:@"photos.upload" andParams:params andHttpMethod:@"POST" andDelegate:nil];

Он отлично работает, но мне нужен FBDialog . Есть ли способ сделать то же самое с FBDialog?

Любая помощь приветствуется.


person ThomasCle    schedule 13.06.2012    source источник


Ответы (3)


Нет, чтобы опубликовать UIImage, вы не можете напрямую прикрепить его. Вот два метода:

  1. Слишком загружать на сервер, а затем отправлять URL/запрос/запрос на этот сервер
  2. (Более практичный подход) Загрузите в альбом пользователя Facebook, а затем опубликуйте это изображение.

Более подробное руководство смотрите по этой ссылке:

Официальное руководство Facebook по iOS

Это аналогичный вопрос с отличным ответом, который содержит пошаговое руководство< /а>

person MCKapur    schedule 13.06.2012
comment
Что ж, я только что получил сообщение об ошибке при попытке опубликовать этот URL. Изображение FBCDN не разрешено в потоке. Оказывается, Facebook больше не разрешает публиковать URL-адреса изображений, размещенных на Facebook. syndicatedmethods.com/SyndicatedBlogs/post/2010/06/22/ - person ThomasCle; 13.06.2012
comment
Действительно? Что ж, я бы сказал, подождите публичного выпуска iOS 6 в октябре и используйте платформу Social для публикации в Facebook, как API Twitter. На самом деле, если вы, как и я, участвуете в программе разработчиков iOS, вы можете приложить к этому руку! - person MCKapur; 13.06.2012
comment
Теперь мы можем напрямую прикрепить изображение, смотрите ответы ниже - person A. Adam; 13.08.2014

Начиная с Facebook iOS SDK v3.13+, вы можете presentShareDialogWithPhotoParams загружать изображения прямо с устройства. См. пример кода ниже:

FBShareDialogPhotoParams *photoParams = [FBShareDialogPhotoParams new];
UIImage *screenshot = //image you want to share.
photoParams.photos = @[screenshot];
[FBDialogs presentShareDialogWithPhotoParams:photoParams
                                 clientState:nil
                                     handler:^(FBAppCall *call, NSDictionary *results, NSError *error) {

                                     }];
person Zorayr    schedule 01.05.2014

- (void) feedDialogButtonClicked {
NSMutableDictionary *params = 
    [NSMutableDictionary dictionaryWithObjectsAndKeys:
        @"Testing Feed Dialog", @"name",
        @"Feed Dialogs are Awesome.", @"caption",
        @"Check out how to use Facebook Dialogs.", @"description",
        @"http://www.example.com/", @"link",
        @"http://fbrell.com/f8.jpg", @"picture",
        nil];  
[facebook dialog:@"feed"
        andParams:params
      andDelegate:self];

}

из официального учебника Facebook по iOS, опубликованного Роханом

person Ramy Kfoury    schedule 13.06.2012
comment
Вопрос касается загрузки изображения с устройства без публикации ссылки на изображение. - person Zorayr; 01.05.2014