如何通过我的 iOS 应用在 Facebook 上分享内容?

     2023-03-17     172

关键词:

【中文标题】如何通过我的 iOS 应用在 Facebook 上分享内容?【英文标题】:How to share something on facebook from my iOS app? 【发布时间】:2012-11-17 10:23:29 【问题描述】:

我正在向我的 iOS 应用程序添加共享功能(我必须支持到 iOS 4.3)。在 Facebook 案例中,我要实现的行为是:

如果 facebook 应用程序存在于 iDevice 上 然后打开它并与所有已预填充的内容共享视图

否则 在 safari(或任何浏览器)中打开 www.facebook.com/sharer.php?[etc] 以分享我的页面。

这是我写的:

    NSURL *url = [NSURL URLWithString:[NSString stringWithFormat:@"fb://publish/profile/me?text=%@", facebookShareLink]];

    if([[UIApplication sharedApplication] canOpenURL:url]) 

        [[UIApplication sharedApplication] openURL:url];

     else 

        NSString *facebookLink = [NSString stringWithFormat:@"http://www.facebook.com/sharer.php?u=%@&t=%@", facebookShareLink, titleToShare];
        facebookLink = [facebookLink stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
        [[UIApplication sharedApplication] openURL:[NSURL URLWithString:facebookLink]];
    

当 Facebook 应用未安装时,它运行良好,但安装后它会打开,但不会转到共享视图。

我在某处读到不再支持 URL 方案(我没有来源)。这是真的吗?

那么还有没有办法在不集成 Facebook iOS SDK 的情况下做到这一点?我不想添加这个 SDK,我只需要共享功能而不是所有 Graph 的东西。

编辑: 我不希望我的应用程序在社交媒体上分享自己的东西,而是提示用户并让他能够轻松地自己完成。我认为我不应该必须通过 Facebook 应用程序或 Twitter 应用程序进行身份验证才能做到这一点,不是吗?用户将在应用程序或移动网站上进行身份验证。

【问题讨论】:

【参考方案1】:

我终于使用 iOS 内置的 facebook 共享对话框 (SLComposeViewController) 提出了一个解决方案,如果用户不使用 iOS 6,该对话框会退回到网站

NSString *facebookShareLink = @"some link to share";
NSString *titleToShare = @"some title";

// if we're not on iOS 6, SLComposeViewController won't be available. Then fallback on website.
Class composeViewControllerClass = [SLComposeViewController class];

if(composeViewControllerClass == nil || ![composeViewControllerClass isAvailableForServiceType:SLServiceTypeFacebook]) 

    NSString *facebookLink = [NSString stringWithFormat:@"http://www.facebook.com/sharer.php?u=%@&t=%@", facebookShareLink, titleToShare];
    facebookLink = [facebookLink stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
    [[UIApplication sharedApplication] openURL:[NSURL URLWithString:facebookLink]];

 else 

    SLComposeViewController *composeViewController = [composeViewControllerClass composeViewControllerForServiceType:SLServiceTypeFacebook];
    [composeViewController setInitialText:titleToShare];
    [composeViewController addURL:[NSURL URLWithString:facebookShareLink]];

    [parentController presentModalViewController:composeViewController animated:YES];

【讨论】:

你能告诉我如何像facebook.com/sharer.php?u=%@&t=%@..那样通过http://链接发帖吗?在FB上发帖的链接是什么? 在这种情况下,我不必在 developer.facebook 上注册新应用程序,也不需要在 facebook 密钥和秘密中注册新应用程序是对的吗? 确实如此。你甚至不需要 facebook sdk。 以这种方式分享的iTunes URL不可点击。【参考方案2】:

您可以使用第三方组件,例如 ShareKit。http://getsharekit.com/

【讨论】:

ShareKit 要求我添加 Facebook 密钥和密码,就像 Facebook iOS SDK 一样。【参考方案3】:

您可以使用 uiactivity 在 facebook、twitter 或电子邮件中分享

UIImage *image1 = shareimgview.image;
NSString *str1=[@"Brand: " stringByAppendingString:brand_field.text];
NSString *str2=[@"Product: " stringByAppendingString:product_field.text];
NSString *str3=[@"Model: "stringByAppendingString:model_field.text];
NSString *str4=[@"Comment: "stringByAppendingString:status_field.text];
NSArray* dataToShare = @[str1,myurl,str2,str3,str4, image1];
UIActivityViewController *actviewcon = [[UIActivityViewController alloc] initWithActivityItems:dataToShare applicationActivities:nil];
[self presentViewController:actviewcon animated:YES completion:NULL];

【讨论】:

【参考方案4】:

对于那些正在寻找 Swift 3 解决方案的人来说,这里是:

if let composeVC = SLComposeViewController(forServiceType:serviceType) 
    composeVC.add(object.image())
    composeVC.add(object.url())
    composeVC.setInitialText(object.text())
    presentingVC.present(composeVC, animated: true, completion: nil)

【讨论】:

如何通过 Android 应用在 Facebook 上分享我的位置?

】如何通过Android应用在Facebook上分享我的位置?【英文标题】:HowtosharemylocationonFacebookthroughAndroidApp?【发布时间】:2020-05-2921:13:41【问题描述】:我想通过我的Kotlin应用在Facebook上分享/发布我的位置。有可能的?我已经知道可以... 查看详情

从我的应用在 Facebook 上发帖

】从我的应用在Facebook上发帖【英文标题】:PostingfrommyappinFacebook【发布时间】:2012-11-0522:10:17【问题描述】:我想更新我的iOS应用以利用iOS6Facebook集成。目前我使用Facebook对话。我喜欢向用户展示对话的方式,当它发布时,它有... 查看详情

如何通过 Facebook 应用登录我的 ios 应用?

】如何通过Facebook应用登录我的ios应用?【英文标题】:HowtologinmyiosappviaFacebookApp?【发布时间】:2016-02-0308:50:20【问题描述】:当我使用FacebookSDK登录我的ios应用程序时,它总是向我显示Web登录,而不是切换Facebook应用程序???... 查看详情

在我的 iOS 应用中显示 Facebook 直播视频

】在我的iOS应用中显示Facebook直播视频【英文标题】:DisplayfacebooklivestreamedvideoinmyiOSapp【发布时间】:2017-03-1409:57:18【问题描述】:我正在我的iOS应用程序中集成facebook实时视频流。直播正在我的Facebook页面上进行,我想在我的iOS... 查看详情

如何通过 iOS 中的图形 API 在 Facebook 页面上作为 Page Post 从应用发布?

】如何通过iOS中的图形API在Facebook页面上作为PagePost从应用发布?【英文标题】:HowtopostonFacebookpageasPagePostfromappviagraphAPIiniOS?【发布时间】:2015-05-2609:27:41【问题描述】:我正在尝试在Facebook页面上发布页面帖子。我在图形代码API... 查看详情

如何通过我的 iOS 应用访问不同的 Facebook 帐户

】如何通过我的iOS应用访问不同的Facebook帐户【英文标题】:HowtoAccessDifferentFacebookAccountsThroughMyiOSApp【发布时间】:2012-10-1201:49:48【问题描述】:这是我第一次将facebook集成到应用程序中,所以我确定我一定错过了一些东西。我... 查看详情

如何知道用户已经在 iOS 应用上完成 Facebook 登录

】如何知道用户已经在iOS应用上完成Facebook登录【英文标题】:HowtoknowuserhasalreadydoneFacebookloginatiOSapp【发布时间】:2015-12-0308:29:28【问题描述】:我正在开发使用FacebookiOSSDK4的iOS应用程序。当用户已经完成Facebook登录时,通过Faceb... 查看详情

如何在 iOS 中点击 Facebook 上的新闻源时在设备中打开我的应用程序

】如何在iOS中点击Facebook上的新闻源时在设备中打开我的应用程序【英文标题】:howcanopenmyappindevicewhileclickonnews-feedonfacebookinios【发布时间】:2015-06-2413:26:58【问题描述】:我想在iOS设备上点击我的应用在Facebook上分享的帖子时打... 查看详情

如何使用同一帐户在 ios 和 android 上启用 facebook 登录

】如何使用同一帐户在ios和android上启用facebook登录【英文标题】:Howtoenablefacebookloginonios&androidwiththesameaccount【发布时间】:2015-06-1804:46:00【问题描述】:我刚刚创建了一个带有facebook登录的iOS应用程序,我可以使用我的facebook... 查看详情

如何在我的应用程序上获得两个 Facebook 用户之间的*所有*共同朋友?

】如何在我的应用程序上获得两个Facebook用户之间的*所有*共同朋友?【英文标题】:HowcanIget*all*mutualfriendsbetweentwofacebookusersonmyapp?【发布时间】:2014-11-2016:18:16【问题描述】:我有一个iOS应用程序,用户可以在其中使用Facebook登... 查看详情

通过 iOS 6 应用程序以编程方式在 Facebook 上分享视频?

】通过iOS6应用程序以编程方式在Facebook上分享视频?【英文标题】:ProgrammaticallysharevideosonfacebookbyiOS6app?【发布时间】:2013-06-0407:32:52【问题描述】:我正在开发一个需要在Facebook上分享视频的应用。当我尝试developer.facebook.com寻... 查看详情

如何使用 SOCIAL KIT 框架从我的 iOS 应用程序将视频上​​传到 Facebook? [关闭]

...如何使用SOCIALKIT框架从我的iOS应用程序将视频上​​传到Facebook?[关闭]【英文标题】:HowtouploadvideotoFacebookfrommyiOSApplicationusingSOCIALKITFramework?[closed]【发布时间】:2015-01-2206:17:15【问题描述】:我已经在FBConnect的帮助下完成了这... 查看详情

在 iPhone 应用程序上登录 Facebook

】在iPhone应用程序上登录Facebook【英文标题】:FacebookloginoniPhoneapp【发布时间】:2012-08-1818:39:29【问题描述】:我正在尝试允许用户通过Facebook登录我的应用程序。我正在关注本指南https://developers.facebook.com/docs/howtos/login-with-faceboo... 查看详情

在 iOS 应用上登录 Facebook

】在iOS应用上登录Facebook【英文标题】:FacebookloginoniOSapps【发布时间】:2012-07-1814:49:28【问题描述】:我正在使用Facebook为我的应用程序创建一个简单的登录。直到昨天它工作正常,如果我有Facebook应用程序打开它,如果没有,... 查看详情

在 Facebook 上分享应用程序

】在Facebook上分享应用程序【英文标题】:ShareApponFacebook【发布时间】:2012-03-0205:59:15【问题描述】:我想在Facebook上分享我的iPhone应用程序。但我收到一个错误,因为“抱歉,您使用的应用程序配置错误,无法与Facebook集成。请... 查看详情

如何在 iOS 设备上验证拥有 facebook 但没有 facebook 应用程序的人?

】如何在iOS设备上验证拥有facebook但没有facebook应用程序的人?【英文标题】:HowtoauthenticateapersonwhohasfacebookbutnotthefacebookapponiOSdevice?【发布时间】:2012-11-0805:34:45【问题描述】:我正在iOS上创建一个应用程序,我遇到了一个场景... 查看详情

如何从 Facebook Messenger 打开我的 iOS 应用程序?

】如何从FacebookMessenger打开我的iOS应用程序?【英文标题】:HowtoopenmyiOSappfromFacebookMessenger?【发布时间】:2016-04-2504:44:26【问题描述】:我正在构建一个FBMessengerBot应用程序,我想将我的应用程序客户URL发送到Messenger,以便用户... 查看详情

如何在 facebook 应用程序/Safari IOS 中通知应用程序用户已更改

】如何在facebook应用程序/SafariIOS中通知应用程序用户已更改【英文标题】:Howtonotifyappthatuserhaschangedinfacebookapp/SafariIOS【发布时间】:2013-07-1705:30:53【问题描述】:在我的应用程序中使用FacebookSDK3.5.1,我的要求是我已经通过faceboo... 查看详情