0

我有一个 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"');

不解决这个问题:(。

另一个想法?

4

2 回答 2

1

我有一个类似的问题,我通过手动将域添加到getloginURL来解决它(在你的应用程序配置中相同的 facebook 开发人员)。Facebook 不知何故对 cookie 感到厌烦。希望能帮助到你!。

PHP SDK

$this->fb->getLoginUrl( array( 
    'domain'=>'http://mysite.com',
    'scope' => $this->scope,
    'redirect_uri' => $endpoint,
    'display' => 'popup' 
    ) 
);
于 2012-06-19T14:13:09.660 回答
0

只需将您的 php 标头更改为

header('P3P: CP="NOI ADM DEV COM NAV OUR STP"');
于 2012-07-09T11:06:20.613 回答