我已经创建了一个简单的Facebook Reveal标签,该标签在前一段时间工作,直到我今天再次检查,似乎只能在https上工作。
这是我在http页面上的内容:
如果我var_dump Facebook对象(使用Facebook的PHP SDK):
object(Facebook)#1 (7) {
["appId":protected]=>
string(15) "#####"
["appSecret":protected]=>
string(32) "#####"
["user":protected]=>
NULL
["signedRequest":protected]=>
NULL
["state":protected]=>
NULL
["accessToken":protected]=>
NULL
["fileUploadSupport":protected]=>
bool(false)
}
如果我是var dump
$signed_request = $facebook->getSignedRequest();
我得到了空白
使用http登陆的人怎么样?
我尝试了针对同一页面的https网址的标题(“位置”),我尝试在应用设置中为页面标签网址和安全页面标签网址指定https页面,但两者似乎都不起作用。< / p>
还有其他人有这个问题吗?这是因为Facebook的最新更新吗?
谢谢!
答案 0 :(得分:5)
您必须确保没有重定向。 您的网页可能仅适用于https。 如果是这种情况,很可能当有人在http上使用facebook进入该页面时,该页面会从http重定向到https并丢失变量$ _REQUEST ['signed_request'] 所以基本上你的页面需要在没有重定向的情况下在两种协议上工作。