通过页面选项卡在FIRST视图上没有signed_request

时间:2011-09-20 23:23:04

标签: view request facebook-php-sdk

我的页面标签出现问题。 当我第一次通过页面选项卡访问应用程序时(例如注销,更改浏览器,删除所有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'];
第一次打开页面选项卡时, $ page_id为空。当我再次单击页面选项卡时,everthing的正常和$ page_id将被填充。

我做错了什么? 我在stackoverflow上找到了可能的解决方案,但它们对我不起作用: “canvas的signed_request”已启用,我的页面标签页以“tab.php”结尾。

非常感谢!

1 个答案:

答案 0 :(得分:0)

好的,我明白了。 我包含一个文件来获取用户的时区(基于机器时间,而不是Facebook)。 在此文件中,有:window.location = "<?php echo $_SERVER['PHP_SELF'];?> 这可能会导致Facebook在首次访问时丢失signed_request。 删除包含的php文件修复了问题...现在我只需要找到一种方法使时区在facebook中工作。