【问题标题】:How to deep link to a Facebook App (NOT Page Tab)如何深度链接到 Facebook 应用程序(不是页面选项卡)
【发布时间】:2013-02-12 01:46:19
【问题描述】:

我需要链接到我的 Facebook 应用程序中的特定页面。 该应用不在页面标签中,由于项目限制,不能在一个页面中。

这是网址格式: https://apps.facebook.com/myappname

我需要在末尾传递一个参数(例如 /next.html 或 ?page=next),以便我可以直接从应用程序外部(通过电子邮件)链接到特定页面。

我该如何设置?我的项目使用 PHP 和 jQuery。如果可能的话,我希望能够在 Javascript 中严格执行此操作。

我找到了大量关于如何深度链接页面选项卡或移动应用程序的信息,但不是常规应用程序。我发现消息说这是可能的,但没有关于如何在网上或 Facebook 上的任何地方实际做到这一点。

感谢您的帮助。

编辑:

好的,我让它在 PHP 中工作。对于遇到此问题的其他人,这就是我所做的。

添加一个“?”在您的 FB 应用程序中“站点 URL”的最后,然后创建一个与此类似的重定向文件作为您的应用程序登录页面(只需使用绝对路径而不是像我在下面所做的相对路径):

<?php
$query = $_SERVER['QUERY_STRING'];
$params = explode("/", $query);

if (in_array("gallery", $params)) {
    header("Location: /gallery.html");
    exit;
}
else {
    header("Location: /index.html");
    exit;
}
?>

这个答案帮助我解决了这个问题: $_GET on facebook iframe app

【问题讨论】:

  • 你能告诉我一个关于如何访问 facebook 应用程序中的深层链接的示例网址吗?

标签: php jquery facebook


【解决方案1】:

我可能在这里遗漏了一些东西,但你为什么不直接链接到 http://apps.facebook.com/yourapp/something.php - 这应该会自动加载你的画布 URL,并在路径中附加 something.php

如果你的画布 URL 指向一个特定的文件而不是一个目录,这显然是行不通的,但是很多应用都能成功地做到这一点

【讨论】:

    【解决方案2】:

    当您使用 ?您所做的只是发出一个 $_GET 请求,因此您需要的所有信息都将存在于 $_GET 数组中。

    不是查询 $_SERVER 数组,而是查询 $_GET 数组。

    如果你有:

    http://myurl.com?info=foobar

    您可以使用以下方式访问该信息:

    $info = $_GET['info'];
    

    最好先检查是否存在:

    if (isset($_GET['info']))
    {
    $info =$_GET['info'];
    }
    else
    {
    $info="default";
    }
    

    顺便说一句,如果你使用 & 字符,你可以有多个参数:

    http://myurl.com?info=foo&moreinfo=bar
    

    【讨论】:

      【解决方案3】:

      您会得到一个名为app_data 的特殊参数,您可以随意使用它。我过去曾使用它来编码我的内部应用程序的完整查询字符串。例如&amp;app_data=My/Custom/Page

      在这个 SO 问题中找到更多信息:Retrieve Parameter From Page Tab URL

      【讨论】:

      • 这仅适用于页面选项卡 - 不适用于常规应用程序。这是我能够在网上找到的答案,但同样,除非应用程序位于页面选项卡中,否则它不起作用,并且我不能为这个项目使用页面选项卡。还有其他方法吗?
      • 使用画布应用程序,您应该能够只使用普通的 GET 参数。
      • 对不起,我该怎么做?我尝试将参数传递给签名的请求,但我无法检索参数,也许我正在接近这个错误?这是我尝试传递 page=gallery 的小提琴:jsfiddle.net/C3xsm/8
      猜你喜欢
      • 1970-01-01
      • 2018-05-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-25
      • 2012-02-22
      • 1970-01-01
      相关资源
      最近更新 更多