没有获得$ _REQUEST ['signed_request']

时间:2011-10-05 14:19:39

标签: facebook

我正在尝试从网址传递一些变量到我的脸书应用程序,即使用像facebook想要的GET变量app_data

在某些时候,我已经停止获取$ _REQUEST的['signed_request']部分。当我print_r($_REQUEST)收到['doc']['user']['__utmz']['__utma']['session']值,但未签名请求时:(< / p>

为什么会发生这种情况的任何想法?

4 个答案:

答案 0 :(得分:4)

检查标签/画布网址与所需的完全相同。如果有重定向到另一个页面,则不会发送已签名的请求和其他值。您可以使用浏览器嗅探器进行检查,如果对页面的调用以300(301/302等)重定向进行响应,则需要更改为重定向到的内容。

示例:

https://example.com/可能需要https://www.example.com/(添加www。或删除www。取决于服务器的设置方式)

www.example.com/可能需要www.example.com/index.php(添加index.php或右页)。

检查您是否在网址中正确使用http://和https://,并且https://返回有效网页。

答案 1 :(得分:2)

我只能通过https://获取已签名的请求,我在http中完全没有请求。

目前FB上有一个错误,但还没有关于修复它的消息; http://developers.facebook.com/bugs/264505123580318?browse=search_4eb3ef23eb18d6649415729


编辑:

http://SITE.com重定向到http://www.SITE.com,因此我丢失了请求变量。

答案 2 :(得分:2)

有一个类似的问题,对我而言,它就像app id和app secret的不匹配一样简单!但是在Facebook开发人员的后端我注意到URL都需要有斜杠!

答案 3 :(得分:0)

如果您在https上访问此特定网站,某些浏览器会自动将您的请求重定向到https,因此如果您在Facebook上处于http模式,则有以下情况:

facebook要求你的应用程序的http版本,浏览器将这个facebook的请求重定向到https和POST数据,因此signer_request在这个过程中消失...

我在chrome 23中看到这个问题,如果你删除browsin数据(特别是取消授权内容许可证)app应该在http上运行