如何深入链接到Facebook应用程序(不是页面选项卡)

时间:2013-02-11 13:23:13

标签: php jquery facebook

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

3 个答案:

答案 0 :(得分:1)

我可能在这里遗漏了一些内容,但为什么你只是链接到http://apps.facebook.com/yourapp/something.php - 这应该会自动加载您的画布网址,并在路径中添加something.php

显然,如果您的画布URL指向特定文件而不是目录,这将无法正常工作,但很多应用程序都会成功执行此操作

答案 1 :(得分:0)

您将获得一个名为app_data的特殊参数,您可以根据需要使用该参数。我过去曾用它来编码我内部应用程序的完整查询字符串。例如,&app_data=My/Custom/Page

在此SO问题中找到更多内容:Retrieve Parameter From Page Tab URL

答案 2 :(得分:0)

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

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

所以如果你有:

http://myurl.com?info=foobar

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

$info = $_GET['info'];

最好先检查是否存在:

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

如果您使用&amp;您可以拥有多个参数的字符:

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