2011-09-14 50 views
1

我试图通过使用GET方法上我的iframe facecbook应用中的一些数据,但在页面内没有数据,我的代码是

<?php 

echo '<pre>'; 
print_r($_GET); 
die() 
?> 

,并试图通过像apps.facebook.com/APPNAME/?p=23 或apps.facebook.com/APPNAME/index.php?p=23

+0

这是整个页面的代码吗?这听起来像是可能有一些重定向正在失去查询字符串。 –

回答

1

可以”直接变量传递到iframe中,你需要的app_data文件在签名的请求中。看看这些类似的问题和答案:

+0

这就是你想要的方式。使用'app_data'参数并定义一个对象,以便更多地解析应用程序。这是Facebook认可的唯一参数。您的网址如下所示:http://apps.facebook.com/APPNAME/?app_data={"this":"is","transfered":"toFacebook“} –

1

忘记其他海报说什么。普通画布应用不接受app_data参数,只有标签应用可以。但您可以使用自定义URL而不仅仅是画布网址。让我告诉你这是如何工作的。

我的应用:

我有一个名为PulseTrack的应用程序。主要应用网址:

http://apps.facebook.com/pulsetrack/

指向这个帆布网址:

http://mydomain.com/pulsetrack/

但我也可以用这个网址:

http://apps.facebook.com/pulsetrack/watch/EP011583610051

指向到:

http://mydomain.com/pulsetrack/watch/EP011583610051

您的应用程序

使用直线上升PHP,如果你可以设置你的画布网址是这样的:

http://yourdomain.com/index.php

然后你可以通过目录参数,您的网址的结尾,像这样:

http://apps.facebook.com/your-app/your/awesome/params

这将来找你是这样的:

http://yourdomain.com/index.php?/your/awesome/params

像这样的东西应该是能够从查询字符串中解析出那些“参数”

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

祝你好运,这让我花了很长时间才弄清楚。

-1

您可以按照正常情况通过参数。 Facebook在加载iframe时会将其附加到URL,因此您理论上应该做的工作。Facebook实际上在加载iframe时执行HTTP POST,但是资源将包含您指定的查询字符串,因此应在PHP $ _GET中填写。您如何通过参数?给我们一个包含链接的代码示例。

+0

我试图访问如http ://apps.facebook.com/appname/index.php?page=2当我print_r($ _ GET)其空白。 –

+0

我尝试过,它不起作用。我可以在我的应用程序的设置中添加URL“?myparam = 1234”,但我想要的是将其写入URL中。 –

相关问题