1

我需要链接到我的 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

4

3 回答 3

1

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

显然,如果您的画布 URL 指向特定文件而不是目录,这将不起作用,但是很多应用程序都成功地做到了这一点

于 2013-02-11T17:24:02.290 回答
0

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

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

于 2013-02-11T13:27:57.733 回答
0

当您使用 ? 您所做的只是发出一个 $_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
于 2013-02-11T17:46:19.293 回答