如何在不使用原生 ios 应用程序中的 FBSDKShareDialog 的情况下在 Facebook 墙上分享照片或链接
Posted
技术标签:
【中文标题】如何在不使用原生 ios 应用程序中的 FBSDKShareDialog 的情况下在 Facebook 墙上分享照片或链接【英文标题】:how to share a Photo Or link on facebook wall without using FBSDKShareDialog from native ios app 【发布时间】:2015-08-27 01:52:33 【问题描述】:我想在不使用 FBSDKShareDialog 的情况下在用户 Facebook 墙上发布一些照片或链接。我已经使用来自 facebook 的 FBSDKSharePhoto 和 FBSDKShareDialog 默认对话框发布。为此,我执行以下代码
FBSDKSharePhoto *photo = [[FBSDKSharePhoto alloc] init];
photo.image = self.imgView.image;
photo.userGenerated = YES;
FBSDKSharePhotoContent *content = [[FBSDKSharePhotoContent alloc] init];
content.photos = @[photo];
[FBSDKShareDialog showFromViewController:self
withContent:content
delegate:(id)self];
但是,此代码会打开默认 FB 对话框。那么,我怎样才能将链接和照片直接发布到用户的墙上。
【问题讨论】:
【参考方案1】:你可以使用默认ios Social Framework的SLComposeViewController
#import <Social/Social.h>
- (IBAction)postToFacebook:(id)sender
if([SLComposeViewController isAvailableForServiceType:SLServiceTypeFacebook])
SLComposeViewController *controller = [SLComposeViewController composeViewControllerForServiceType:SLServiceTypeFacebook];
[controller setInitialText:@"Post from my iPhone app"];
[controller addURL:[NSURL URLWithString:@"http://www.yourlink.com"]];
[controller addImage:[UIImage imageNamed:@"facebook-image.jpg"]];
[controller setCompletionHandler:^(SLComposeViewControllerResult result)
switch (result)
case SLComposeViewControllerResultCancelled:
NSLog(@"Post Canceled");
break;
case SLComposeViewControllerResultDone:
NSLog(@"Post Sucessful");
break;
default:
break;
];
[self presentViewController:controller animated:YES completion:Nil];
Facebook 分享的文档。 :https://developers.facebook.com/docs/sharing/ios
通过 Graph API:
1) Post image on facebook wall using graph api iphone sdk
2)Photo Upload to own wall via iOS Graph API with user's location
3)http://www.raywenderlich.com/1488/facebook-tutorial-for-ios-how-to-use-facebook-new-graph-api-from-your-iphone-app
【讨论】:
这与 FBSDKSharedialog 相同。但为此,我们必须有登录系统 facebook 帐户。没有登录系统帐户,这是行不通的, @Hirenkanetiya 是的,您必须从设置中使用 facebook 帐户登录 是他们使用 FBSDK Graph API 发布的任何方式吗?在最新的 FacebookSDK 中,请建议。 如果我能找到,我会告诉你的。你说没有 FBShareDialog。 是的,没有 FBShareDialog ,我想使用 FBSDKOpenGraph Api 来分享照片和链接...因为这样我们不需要每次都登录系统帐户。以上是关于如何在不使用原生 ios 应用程序中的 FBSDKShareDialog 的情况下在 Facebook 墙上分享照片或链接的主要内容,如果未能解决你的问题,请参考以下文章
如何在 fbsdk 登录 React Native 中更改名称应用程序('项目想要使用 facebook.com')iOS
如何在 iPhone 的 Swift iOS 中使用 FBSDK 获取用户电子邮件地址?
FBSDK 登录 - SFSafariViewController 已禁用?