从 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 墙上发布纯文本的主要内容,如果未能解决你的问题,请参考以下文章
允许用户在朋友 Facebook 墙上发布玩 iOS 应用程序的邀请?
如何在不使用原生 ios 应用程序中的 FBSDKShareDialog 的情况下在 Facebook 墙上分享照片或链接