我需要链接到我的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
答案 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数组。
所以如果你有:
您可以使用以下方式访问该信息:
$info = $_GET['info'];
最好先检查是否存在:
if (isset($_GET['info']))
{
$info =$_GET['info'];
}
else
{
$info="default";
}
如果您使用&amp;您可以拥有多个参数的字符:
http://myurl.com?info=foo&moreinfo=bar