我正在使用PHP-SDK用于Facebook并获得了在我的localhost上工作的示例。但是,在服务器上构建脚本时,脚本仍然很忙,从我的脚本重定向到Facebook并返回。 (错误:Fout 310(net :: ERR_TOO_MANY_REDIRECTS):)
似乎有更多人遇到此问题(here,here,here,here)。虽然,我找不到明确的答案出了什么问题。
重定向到脸书(回复302):
https://www.facebook.com/dialog/oauth?client_id=166958180001271&redirect_uri=http%3A%2F%2Fdomain.com%2Fscripts%2FGateway.php%3Faction%3DAllowFacebookAccessAction%26app%3D14&state=0dbc178a375595da4751265a7147c01e#_=_
重定向到mydomain(响应302):
http://domain.com/scripts/Gateway.php?action=AllowFacebookAccessAction&app=14&state=0dbc178a375595da4751265a7147c01e&code=AQD-dTeyns0OWpGb_PzfHxUy2iRmpc1XgP6Q24DDRX8MiRTE10lV-b-aSNIlOLVHk576vRs3H8Pf9n0kGwU827MrkzUCUoQGFGEQBkkOJnCy9zb6hZs7TVBsKL2iSuZIhDjLsCOPeKy3zfb37Q6LGhtMICCdB_IQAvU0uRvAkSAX8tdVJ65PEv8imx-2yvLaMoGJleZwKogh7m03vlhV8hJk#_=_
创建此问题的部分代码
...
$facebook = new FacebookApi(array(
'appId' => $app->getProperty('apiKey'),
'secret' => $app->getProperty('secretKey'),
));
$user = $facebook->getUser();
if (!$user) {
header('location: ' . $facebook->getLoginUrl());
exit;
}
...
更新:
我排除了它的服务器设置。我能够在该服务器上运行原始示例脚本。
答案 0 :(得分:1)
在应用设置https://developers.facebook.com/apps中重新检查您的应用secret
,否则转储会话
<?php print_r($_SESSION); ?>
并且lint令牌返回https://developers.facebook.com/tools/debug
非常确定令牌是否受损或秘密。
如果没有,那就是代码中没有显示的内容。