繁体   English   中英

从我的应用程序启动 Facebook 应用程序并打开一个不属于我的个人资料

[英]Launch Facebook app from my app and make it open a profile which is not mine

我正在开发一个应用程序,我需要在其中放置一个按钮,将用户重定向到某个 Facebook 页面。 通常点击此按钮应该会在 Facebook 应用程序或导航器中打开配置文件(如果 Facebook 未安装)。 另外,我想用 Twitter 页面做同样的事情。

我想知道如何做到这一点。

这一切都归结为自定义 url 方案。 Facbook 是fb://所以如果你打开fb://profile/zuck Mobile Safari 会把你踢到 Facebook 应用程序并加载马克扎克伯格的个人资料页面。 新的 Facebook 应用程序中目前存在一个错误,无法正确加载配置文件。

要检查用户的设备是否可以响应 URL 方案,请查看此帖子

编辑::

至于 Twitter,在将用户踢到https://twitter.com/#!/<# User Name #>之前,您可能需要检查几个不同的 Twitter 客户端,例如twitter://tweetbot://

您可以通过获取该个人资料的 Facebook id 来打开它。 所以你可以找到 Facebook id 为:URL https://www.facebook.com/pageName现在,转到: http : //findmyfacebookid.com粘贴你的 URL,获取 Facebook id,然后将 url 设为 @"fb:/ /个人资料/个人资料ID”

它对我有用!

为了扩展@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"]];
}

{edit}我明白你的意思{/edit}

Facebook iPhone 应用程序注册为fb://前缀的 URL 处理程序。 我不确定这是否适用于所有版本,但我相信点击fb://profile/{page or profile id}将在 iphone 应用程序(如果已安装)中打开配置文件。

我发现这个问题在 3.4 版中是准确的(它目前在 4.0 上,但我想其中大部分仍然有效)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM