Качване на 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
Благодаря ти. Реших да използвам втория метод. Обектът за заявка на request:(FBRequest *)request didLoad:(id)result съдържа идентификатора за качената снимка. Това може да бъде публикувано в FBDialog след това като facebook.com/photo.php?fbid=THE_ID_HERE - person ThomasCle; 13.06.2012
comment
Е, току-що получих грешка при опит да публикувам този URL адрес. FBCDN изображение не е разрешено в поток. Оказва се, че Facebook вече не позволява публикуване на URL адреси към изображения, хоствани във Facebook. syndicatedmethods.com/SyndicatedBlogs/post/2010/06/22/ - person ThomasCle; 13.06.2012
comment
Наистина ли? Е, бих казал, че изчакайте публичното пускане на iOS 6 през октомври и използвайте социалната рамка, за да споделяте във 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];

}

от официалния урок за iOS на Facebook, както е публикувано от Рохан

person Ramy Kfoury    schedule 13.06.2012
comment
Въпросът е относно качването на изображение от устройството, което не публикува с връзка към изображение. - person Zorayr; 01.05.2014