【发布时间】:2013-08-13 12:08:01
【问题描述】:
我正在处理一个本地 Facebook 项目。但是当我去 localhost 时,他每次都开始重定向到 localhost/?code=xxxx (xxxx 是很长的随机字符)。
我的代码是:
require_once('sdk/src/facebook.php');
$facebook = new Facebook(array(
'appId' => 'MY_APP_ID',
'secret' => 'MY_APP_SECRET',
'sharedSession' => true,
'trustForwarded' => true,
'cookie' => true
));
$user_id = $facebook->getUser();
if ($user_id) {
try {
// Fetch the viewer's basic information
$basic = $facebook->api('/me','GET');
} catch (FacebookApiException $e) {
if (!$facebook->getUser()) {
//header('Location: '. AppInfo::getUrl($_SERVER['REQUEST_URI']));
$user_id = null;
}
}
}
if(!$user_id) {
$loginUrl = $facebook->getLoginUrl(array(
'scope' => 'email,publish_actions'
));
echo "<script type='text/javascript'>top.location.href = '$loginUrl';</script>";
exit();
}
...
提前致谢。
【问题讨论】:
-
这可能表明您的会话已丢失 - 检查您的浏览器是否正确接受本地主机的 PHP 会话 cookie。
-
@CBroe 我的 Chrome 浏览器不接受 cookie,但 Firefox 可以。不幸的是,我所有的浏览器都发生了重定向循环。我能做什么?
-
如果您真的不需要它们,也可以尝试在初始化 SDK 时删除
sharedSession和trustForwarded参数。