在 facebook sdk v3.13 上分享图片和文字

Posted

技术标签:

【中文标题】在 facebook sdk v3.13 上分享图片和文字【英文标题】:share an image and text on facebook sdk v3.13 【发布时间】:2014-04-02 12:00:14 【问题描述】:

在较早的Facebook SDK 中,我使用以下代码使用户能够共享screenshot,并在image 上方添加了一个text,其中包含linkApp

重点是screenshot,而不是link。 在最新的SDK 中,我找不到这样做的方法。 在他们的教程中,他们展示了如何共享链接并将图像添加到链接frame,或者如何共享照片,但这不是我想要的。

对我来说最重要的是我添加到帖子中的图像应该很大,并且我必须在其上方添加文本和链接(不是用户将添加的文本,而是我正在添加的文本)

这是我在旧版SDK 中使用的代码:

 NSDictionary * params = @
     @"link"    : link,
     @"message" : strMessagetoPost,
     @"picture" : UIImageJPEGRepresentation(img, 1.0f);

     [FBRequestConnection startWithGraphpath:@"me/photos"
     parameters:params
     HTTPMethod:@"POST"
     completionHandler:^(FBRequestConnection *connection,id result,NSError *error)
                     
                     if (error) 
                     
                     else 
                     
     ];

知道如何使用FBDialogs class 或以任何其他方式进行操作吗?

【问题讨论】:

【参考方案1】:
     NSString *str_link = [NSString stringWithFormat:@"%@uploads/%@-5.jpg",app.Main_url,[Data_Dict objectForKey:@"deal_id"]];
     //NSLog(@"%@",str_link);

     NSDictionary *params = @
                              @"name" :[NSString stringWithFormat:@"%@",[Data_Dict objectForKey:@"name"]],
                              @"caption" : @"",
                              @"description" :[Data_Dict objectForKey:@"desc_title"],
                              @"picture" : str_link,
                              @"link" : @"",
                              ;

     // Invoke the dialog
     [FBWebDialogs presentFeedDialogModallyWithSession:nil
                                            parameters:params
                                               handler:
      ^(FBWebDialogResult result, NSURL *resultURL, NSError *error) 
          if (error) 
              //NSLog(@"Error publishing story.");
              [self.indicator stopAnimating];
           else 
              if (result == FBWebDialogResultDialogNotCompleted) 
                  //NSLog(@"User canceled story publishing.");
                  [self.indicator stopAnimating];
               else 
                  //NSLog(@"Story published.");
                  [self.indicator stopAnimating];
              
          ];
 

【讨论】:

感谢您的回答。我确实尝试过,但它和我已经设法做到的一样。我希望文本出现在图像上方,而不是作为帖子的一部分。还是谢谢【参考方案2】:

您可以使用社交框架进行分享。这里是代码。

添加社交框架并使用此标头

#import <Social/Social.h>
-(void)ShareOnFacebook

    if([SLComposeViewController isAvailableForServiceType: SLServiceTypeFacebook])
    
        SLComposeViewController *controller = [SLComposeViewController composeViewControllerForServiceType:SLServiceTypeFacebook];

        [controller setInitialText:@"Greetings"];
        [controller addImage:finalImage];

        [self presentViewController:controller animated:YES completion:Nil];
    

这对我有用..试试看..

【讨论】:

谢谢!此服务类型始终无法使用它:)

以上是关于在 facebook sdk v3.13 上分享图片和文字的主要内容,如果未能解决你的问题,请参考以下文章

在Facebook上通过Intent分享文本而不使用Facebook sdk

在 Facebook iOS SDK 4.4 上分享视频

在 facebook sdk 上分享未找到 FacebookSDK 不见了

有没有办法在没有 SDK 的情况下在 facebook messenger 上分享文本?

iOS Facebook SDK 分享照片和从 Facebook 应用程序注销后

facebook sdk:用文字分享本地图片让我发疯