我的页面标签出现问题。 当我第一次通过页面选项卡访问应用程序时(例如注销,更改浏览器,删除所有cookie),我没有得到signed_request。 这是我的代码的一部分(我正在使用最新的PHP SDK):
require_once ('facebook.php');
$app_id = "xxx";
$app_secret = "xxx";
$facebook = new Facebook(array(
'appId' => $app_id,
'secret' => $app_secret,
'cookie' => true
));
$signed_request = $facebook->getSignedRequest();
$page_id = $signed_request['page']['id'];
第一次打开页面选项卡时,我做错了什么? 我在stackoverflow上找到了可能的解决方案,但它们对我不起作用: “canvas的signed_request”已启用,我的页面标签页以“tab.php”结尾。
非常感谢!
答案 0 :(得分:0)
好的,我明白了。
我包含一个文件来获取用户的时区(基于机器时间,而不是Facebook)。
在此文件中,有:window.location = "<?php echo $_SERVER['PHP_SELF'];?>
这可能会导致Facebook在首次访问时丢失signed_request。
删除包含的php文件修复了问题...现在我只需要找到一种方法使时区在facebook中工作。