从 iOS 应用程序在 Facebook 墙上发布纯文本

Posted

技术标签:

【中文标题】从 iOS 应用程序在 Facebook 墙上发布纯文本【英文标题】:Post plain text on facebook wall from iOS application 【发布时间】:2014-06-01 09:26:14 【问题描述】:

然而,这是一个相当受欢迎的问题,而且 fb 的文档非常清楚,我坚持以下情况: 我希望用户从我的 ios 应用程序将一篇文章发布到他的 Facebook 墙上,他想与朋友分享(但网站上的这篇文章仅适用于订阅用户,所以我无法发布我需要的文章的链接一次发布所有全文)

    NSMutableDictionary *params =
    [NSMutableDictionary dictionaryWithObjectsAndKeys:
     _title, @"name",
     _htmlBody, @"description",
      nil];
    [FBWebDialogs presentFeedDialogModallyWithSession:nil
                                           parameters:params
                                              handler:handler];

如您所见,params中缺少参数“link”,这导致墙上的帖子是空的!有没有解决方法如何在墙上发布没有链接、照片等的纯文本?

注意:当我在参数中添加任何工作链接时,我可以看到墙上的帖子,但是,无论如何描述都被剪切了,所以只能看到文章中的几行。(我认为这是因为参数“描述”允许有一个特定的大小,m.b 1000 个字符)

非常感谢。

【问题讨论】:

为什么不使用SLComposeViewController 是否允许实施,我需要什么? 当然。刚刚在下面发布了答案。看看并尝试一下。 【参考方案1】:

使用 iOS 6.0 及更高版本中可用的SLComposeViewController

if ([SLComposeViewController isAvailableForServiceType:SLServiceTypeFacebook]) 
        SLComposeViewController *facebookShare = [SLComposeViewController composeViewControllerForServiceType:SLServiceTypeFacebook];
        NSString *shareText = @"This is my share post!";
        [facebookShare setInitialText:shareText];

        [facebookShare setCompletionHandler:^(SLComposeViewControllerResult result) 

            switch (result) 
                case SLComposeViewControllerResultCancelled:
                    NSLog(@"Post Canceled");
                    break;
                case SLComposeViewControllerResultDone:
                    NSLog(@"Post Sucessful");
                    break;
                default:
                    break;
            
        ];

        [self presentViewController:facebookShare animated:YES completion:nil];
    

【讨论】:

来自文档:“要使帐户可用,用户必须在设备设置中登录到社交服务。”。如果用户是,我希望它会像 facebook sdk 一样提供登录屏幕未登录.. 如果您为 iOS 6.0 及更高版本编译,只需删除检查 if ([SLComposeViewController isAvailableForServiceType:SLServiceTypeFacebook]),如果用户未登录,则会弹出消息提示用户登录 没问题。很高兴我能帮上忙

以上是关于从 iOS 应用程序在 Facebook 墙上发布纯文本的主要内容,如果未能解决你的问题,请参考以下文章