我开发了一个Facebook画布应用程序,向用户发送新闻传递,我希望能够允许用户点击新闻传递中的链接,并将其与应用程序中呈现的一些数据一起带到我的应用程序中例如通过将它传递给查询字符串)。如何在查询字符串中将某些值传递给我的Facebook画布应用程序?
当我创建将用户的动态消息发布的链接我设置链接场 -
http://apps.facebook.com/myappname/?datatopass=mydata
这工作,当用户点击这个链接的浏览器引导他们该链接。但是我无法访问$ _GET ['datatopass']变量(使用PHP),它看起来是空白的。我已经尝试使用JavaScript来输出window.location变量,并且我没有看到我传递的查询字符串,尽管我在浏览器地址栏中看到上面的url。我所看到的是我在facebook开发人员应用程序中设置的网站网址,以及facebook使用的状态和代码 params。它剥离了我的datatopass param,我希望能够在我的应用程序启动时阅读。
所以...我怎么传递我想发送的数据?如果您使用的是signed_request,我知道有一个app_data字段,但据我所知,这仅适用于坐在页面的Tab中的应用程序。我正在使用iFrame canvas应用程序方法。
当我看着我的Apache服务器的访问日志,我可以看到,有我的网站的URL地址的POST进入我的附加查询字符串 - 随之而来的是GET项
my.domain.com 123.456.7.890 - - [23/Feb/2012:14:21:19 +0000] "POST /facebookapp/?datatopass=mydata HTTP/1.1" 200 300 "http://apps.facebook.com/myappname/?datatopass=mydata" "Mozilla/5.0 (Windows NT 5.1; rv:11.0) Gecko/20100101 Firefox/11.0"
-
my.domain.com 123.456.7.890 - - [23/Feb/2012:14:21:20 +0000] "GET /facebookapp/directory/?state=99226fiawhoidhaoia09809a085d94832&code=ahfakshdlkfhalksj.... HTTP/1.1" 200 27094 "http://my.domain.com/facebookapp/?play=asd" "Mozilla/5.0 (Windows NT 5.1; rv:11.0) Gecko/20100101 Firefox/11.0"
我的歉意我真的不明白上述是做什么,但希望这将是有用的额外信息,在帮助回答这个问题。
嗨 - 是的,这是我的错误打印我应该添加/在我的问题 - 但我的浏览器会为我添加这个,如果我不这样,我看到相同的行为,无论。当我在Facebook上配置应用时,我有Site URL = http://my.domain.com/facebookapp/index.php和canvas url = http://my.domain.com/facebookapp/ Canvas页面是http:// apps.facebook.com/myappname(没有斜线,但随后Facebook会为你填充)..我更新了我的问题,但是感谢您指出了这一点。 – undefined 2012-02-23 15:40:51