【问题标题】:Uploading UIImage with FBDialog使用 FBDialog 上传 UIImage
【发布时间】:2012-06-16 03:53:09
【问题描述】:

我想使用 Facebook SDK 中的 FBDialog,但它似乎只需要一个 URL 来发布图像。有什么方法可以使用FBDialogUIImage 上传到Facebook,而无需在发布前将图像上传到另一台服务器?

我目前正在使用它在 facebook 上发布UIImage

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

效果很好,但我需要 FBDialogFBDialog 有什么方法可以做同样的事情吗?

感谢任何帮助。

【问题讨论】:

    标签: objective-c ios facebook facebook-ios-sdk


    【解决方案1】:

    不,要发布UIImage,您不能直接附加它。这里有两种方法:

    1. 太上传到服务器,然后将 URL/请求/查询带到该服务器
    2. (更实用的方法)上传到您的 Facebook 用户的相册,然后发布该图片

    有关更深入的教程,请查看此链接:

    Official Facebook iOS Tutorial

    This is a similar question with a great answer that provides step by step tutorial

    【讨论】:

    • 谢谢。我决定使用第二种方法。 “request:(FBRequest *)request didLoad:(id)result”的请求对象包含上传图片的id。之后可以在 FBDialog 中发布为facebook.com/photo.php?fbid=THE_ID_HERE
    • 好吧,我刚刚收到一个错误,试图发布此 URL。 “流中不允许使用 FBCDN 图像。”。事实证明,Facebook 不再允许将 URL 发布到 Facebook 上托管的图像上。 syndicatedmethods.com/SyndicatedBlogs/post/2010/06/22/…
    • 真的吗?好吧,我会说等 iOS 6 在 10 月份公开发布,然后像 twitter API 一样使用 Social 框架分享到 Facebook。事实上,如果你和我一样是 iOS 开发者计划的一员,你就可以动手了!
    • 现在我们可以直接附加图片了,看下面的答案
    【解决方案2】:

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

    【讨论】:

      【解决方案3】:
      - (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];
      

      }

      来自 Rohan 发布的官方 Facebook iOS 教程

      【讨论】:

      • 问题是关于从设备中上传图像而不是发布图像链接。
      猜你喜欢
      • 2014-11-21
      • 2011-04-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-10-11
      • 1970-01-01
      相关资源
      最近更新 更多