【问题标题】:Open Facebook page in Native Facebook IOS App via simple URL Sheme issue通过简单的 URL Scheme 问题在 Native Facebook IOS App 中打开 Facebook 页面
【发布时间】:2012-08-19 21:55:06
【问题描述】:

那里!

我想使用 URL Scheme 在原生 IOS Facebook 应用程序中打开我的 Facebook 页面(不是个人资料)。

我正在测试这个功能 - 在这个例子中 fb://profile

效果很好。

但是,当我试图打开我的 Facebook 页面时 - fb://page/141720395863506

它只是将我重定向到 Facebook 应用程序并没有任何反应,只需打开应用程序并加载新闻源。

请帮帮我。 我找不到官方 facebook 开发人员指南的任何文档。 并有一些问题: 确实,Facebook IOS App Url Sheme 还支持这个功能。 在这种情况下我可能做错了吗?

最好的问候!

【问题讨论】:

  • 你的意思是说,你想在不登录的情况下查看你的FB墙?
  • @iShru - 不,新版本的 fb 应用程序更改了 url scemes,这些以前有效的链接不再有效。我没有解决方案,但肯定想找到一个。

标签: ios facebook url


【解决方案1】:

我相信我已经找到了解决方案...它目前在 iPhone 的 facebook ios 5.0.1 下工作.. 尚未在 iPad 上尝试过。

网址是fb://profile/132753734806

现在重要的部分是那个数字。这与我的一位客户查尔斯·斯科特有关。但是,这不是他们的 FBID 或页面 ID。他们的页面 ID 是 10150348920319807

所以你会认为它应该是 fb://profile/10150348920319807 但这给了我一个错误。

这是获取正确代码的方法。点击页面上的任何照片。这是我的客户 https://www.facebook.com/photo.php?fbid=10150348920319807&set=a.10150348920314807.356942.132753734806&type=1&theater 的示例

如果您注意到该 URL 中 fbid= 后面的 FBID 不起作用。您想要的数字就在 &type=1theater 之前但在最后一个时期之后。 132753734806是在fb://profile/之后打卡的正确代码

我希望这有点道理......我对代码或编码知之甚少,但这让我非常困扰,我知道有办法。

现在,我很想回答/工作的两个问题.. 1. 如果这可以在 android 手机上工作 2. 为这个 url 创建一个工作 qr 码,以便人们可以使用 ios 设备扫描并自动打开它

祝你好运,我希望这对每个人都有帮助!

【讨论】:

  • 非常好的发现!工作完美。
  • 正确。此外,您几乎可以在处理页面(例如编辑)的每个页面中看到您需要的 ID。
  • @Alessandro 如果用户从 Facebook 应用程序注销。然后它打开应用程序进行登录,但登录后它不会重定向到您的页面。我们该如何处理??
  • 这对我不起作用,但使用 fb://page/$pageID 确实可以从转到页面 > 关于我们并向下滚动以找到“页面 id”的地方找到 pageID ...实际上是从头开始也就是说,在我的移动浏览器 (FF) 中输入“fb://page/9101337646”会将我带到应用程序中的页面。拥有与元刷新相同的 URL 只会将我带到应用程序,而不会显示页面。啊!
【解决方案2】:

Alessandro 的上述回答是正确的,但这对我来说并没有真正起作用。所以这是正确的方法。 我有一个网址https://www.facebook.com/pageName 现在,转到: http://findmyfacebookid.com 粘贴您的 URL,获取 Facebook id,然后将 url 设为 @"fb://profile/pageID"

它对我有用!

注意:检查本地应用程序是否安装在设备中,否则通过默认浏览器打开。

 if (![[UIApplication sharedApplication] openURL: [NSURL URLWithString:@"fb://profile/pageId"]]) 
{            
   NSURL *url = [NSURL URLWithString:@"https://www.facebook.com/pageName"];
   [[UIApplication sharedApplication] openURL:url];
}

【讨论】:

  • 该域目前无法解析为网页。
【解决方案3】:

Swift 3.0 / iOS10:

let fbUrl: NSURL = NSURL(string: "fb://profile/55555555555555")!
let fbWebUrl: NSURL = NSURL(string: "https://facebook.com/yourFacebookPageName")!

if (UIApplication.shared.canOpenURL(fbUrl as URL)) {
    if #available(iOS 10.0, *) {
        UIApplication.shared.open(fbUrl as URL, options: [:], completionHandler: nil)
    } else {
        // Fallback on earlier versions
        UIApplication.shared.openURL(fbUrl as URL)
    }
} else {
    if #available(iOS 10.0, *) {
        UIApplication.shared.open(fbWebUrl as URL, options: [:], completionHandler: nil)
    } else {
        // Fallback on earlier versions
        UIApplication.shared.openURL(fbWebUrl as URL)
    }
}

“55555555555555”应替换为您可以从http://findmyfbid.com 获得的数字 Facebook ID,“yourFacebookPageName”应替换为页面的用户名。

不要忘记在应用的 Info.plist(在 LSApplicationQueriesSchemes 下)中启用 fb url 方案。

【讨论】:

    【解决方案4】:

    我认为这描述了为应用程序发现此类链接的程序化/形式化方法:https://developers.facebook.com/docs/applinks

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-03-10
      • 1970-01-01
      • 2013-02-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多