我正在开发一个本地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();
}
...
我的应用设置: http://i44.tinypic.com/25fm59j.png
提前致谢。
答案 0 :(得分:1)
可能的问题是,即使用户已登录,您的应用仍会为0
返回$user_id
,从而导致JavaScript重定向再次发生,从而导致其永久循环。
问题的情况可能是众多问题之一,但请确保code
GET变量未被.htaccess
文件或其他方式从网址中删除。其次,请查看base_facebook.php
文件this modification以更改code
的检查方式。