我有一个facebook应用程序,它在一个托管服务器上工作得非常好。 我们仍然在另一个托管服务商中迁移应用程序,我们对以下代码有疑问:
header('P3P: CP="NOI ADM DEV PSAi COM NAV OUR OTRo STP IND DEM"');
session_start();
require "facebook-facebook-php-sdk-5ba36bc/src/facebook.php";
$facebook = new Facebook(array(
'appId' => $app_id,
'secret' => $app_secret,
'cookie' => true,
));
$user = $facebook->getUser();
在Safari中,有时在Firefox和Windows7中,getUser()都会返回0!
你知道为什么吗?什么是解决方案?谢谢!
编辑:
更改P3P并不能解决任何问题。
之前:
header('P3P: CP="NOI ADM DEV PSAi COM NAV OUR OTRo STP IND DEM"');
后:
header('P3P:CP="IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT"');
甚至这个:
header('P3P: CP="ALL IND DSP COR ADM CONo CUR CUSo IVAo IVDo PSA PSD TAI TELo OUR SAMo CNT COM INT NAV ONL PHY PRE PUR UNI"');
无法解决此问题:(。
另一个想法?
答案 0 :(得分:1)
我遇到了类似的问题,我通过手动将域名添加到 getloginURL 来解决了这个问题,(在Facebook开发者的应用配置中也是如此).Facebook不知何故对cookie感到厌倦。希望它有所帮助!
PHP SDK
$this->fb->getLoginUrl( array(
'domain'=>'http://mysite.com',
'scope' => $this->scope,
'redirect_uri' => $endpoint,
'display' => 'popup'
)
);
答案 1 :(得分:0)
只需将您的php标题更改为
即可header('P3P: CP="NOI ADM DEV COM NAV OUR STP"');