我一直在尝试新的身份验证,但有时会发生在第一次访问时应用程序一次又一次地刷新。(我的意思是当没有设置 cookie 时......第一次或例如在浏览器重新启动后)
我有这个验证码:
require_once './facebook/facebook.php';
$facebook = new Facebook(array(
'appId' => $fbconfig['appid'],
'secret' => $fbconfig['secret'],
'fileUpload' => $fbconfig['fileUpload'],
'cookie' => true,
));
$uid = $facebook->getUser();
if($uid)
{
session_start();
if(!isset($_SESSION['me']))
{
try
{
$_SESSION['me'] = fql("select name, sex, pic_big, locale, email, birthday from user where uid=me()",$facebook);
$_SESSION['me'] = $_SESSION['me'][0];
}
catch(Exception $o)
{
print_r($o);
}
}
}
else
{
$loginUrl = $facebook->getLoginUrl(
array(
'scope' => $fbconfig['perms'],
'redirect_uri' => $fbconfig['canvas'],
)
);
echo "<script type='text/javascript'>top.location.href = '$loginUrl';</script>";
exit;
}
所以错误是 $facebook->getUser(); 它是 0。但是当我停止刷新并再次去那里时......它工作正常。