从我的应用程序启动 Facebook 应用程序并使其打开不属于我的个人资料
Posted
技术标签:
【中文标题】从我的应用程序启动 Facebook 应用程序并使其打开不属于我的个人资料【英文标题】:Launch Facebook app from my app and make it open a profile which is not mine 【发布时间】:2011-12-12 19:39:58 【问题描述】:我正在开发一个应用程序,我需要在其中放置一个按钮,将用户重定向到某个 Facebook 页面。通常点击此按钮应在 Facebook 应用程序中打开个人资料,如果未安装 Facebook,则在导航器中打开。另外,我想在 Twitter 页面上做同样的事情。
我想知道怎么做。
【问题讨论】:
【参考方案1】:这一切都归结为自定义 url 方案。 Facbook 是fb://
,所以如果你打开fb://profile/zuck
,Mobile Safari 会跳转到 Facebook 应用程序并加载 Mark Zuckerbergs 的个人资料页面。目前,新的 Facebook 应用程序中存在一个错误,导致其无法正确加载个人资料。
要检查用户的设备是否可以响应 URL 方案,请查看 this post。
编辑::
就 Twitter 而言,您可能需要检查几个不同的 Twitter 客户端,例如 twitter://
或 tweetbot://
,然后再将用户踢到 https://twitter.com/#!/<# User Name #>
【讨论】:
【参考方案2】:为了扩展@SkylarSch 的答案,这将首先尝试在本机 Facebook 应用程序中打开该页面,否则它将在 Mobile Safari 中打开它:
NSURL *fbNativeAppURL = [NSURL URLWithString:@"fb://page/yourPageIDHere"];
// Check to make sure URL can be opened on device (whether the user has the Facebook app installed)
if ( [[UIApplication sharedApplication] canOpenURL:fbNativeAppURL])
[[UIApplication sharedApplication] openURL:fbNativeAppURL];
// Otherwise, just open it in the browser
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"http://www.facebook.com/yourPageIDHere"]];
【讨论】:
【参考方案3】:您可以通过获取该个人资料的 Facebook id 来打开它。所以你可以找到 Facebook id 为: 网址https://www.facebook.com/pageName 现在,转到:http://findmyfacebookid.com 粘贴您的 URL,获取 Facebook id,然后将 url 设为 @"fb://profile/profileID"
它对我有用!
【讨论】:
【参考方案4】:edit我明白你的意思/edit
Facebook iPhone 应用程序注册为 fb://
前缀的 URL 处理程序。我不确定这是否适用于所有版本,但我相信单击指向fb://profile/page or profile id
的链接将在 iphone 应用程序中打开配置文件(如果已安装)。
我在this question 上发现了这一点,截至 3.4 版是准确的(目前是 4.0,但我想其中大部分仍然有效)
【讨论】:
对不起,如果不清楚,我的英语不好。问题是我需要制作一个 ios 应用程序,它可以打开一个不是本地用户个人资料的 Facebook 个人资料(例如 facebook 上的可口可乐页面)。我希望该 profiel 页面在 facebook 应用程序中打开,而不是在 safari 导航器中打开。我不确定这是否可能,我从来没有一个应用程序这样做。非常感谢您的回答。再次为帖子的清晰度感到抱歉。以上是关于从我的应用程序启动 Facebook 应用程序并使其打开不属于我的个人资料的主要内容,如果未能解决你的问题,请参考以下文章
使用 facebook api 从我的应用程序中的 facebook 注销问题
在用户注销时从我的应用程序中删除 facebook 会话 cookie
iOS - Facebook 单点登录 - 从我的视图控制器
从我的应用程序中注销(使用 facebook android sdk 4.0 开发)并安装 facebook 原生应用程序