我创建了一个简单的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)
}
如果I var转储
$signed_request = $facebook->getSignedRequest();
我得到空
那些使用http登陆的人呢?
我尝试为同一页面的https URL添加一个标头("位置"),并尝试在应用程序设置中为页面选项卡URL和安全页面选项卡URL指定https页面,但两者似乎都不起作用。
其他人有这个问题吗?这是因为Facebook的更新吗?
谢谢!
您必须确保没有重定向。您的页面可能只在https上工作。如果是这样的话,很可能当在http上使用facebook的人转到该页面时,该页面会从http重定向到https,并丢失变量$_REQUEST['signed_REQUEST']因此,基本上,您的页面需要在没有重定向的情况下同时使用这两种协议。