按照惯例,FB让我拔掉头发。
我已经能够在IE9中测试我的应用程序,但是在使用Firefox时,在用户授权画布应用程序后,它会进入重定向循环,将状态和代码变量添加到URL。
我正在使用带有此代码的javascript和php sdk:
$facebook = new Facebook(array(
'appId' => $app_id,
'secret' => $application_secret,
'cookie' => true, // enable optional cookie support
));
$user = $facebook->getUser();
if(!($user))
{
echo"<script> top.location.href='" . $facebook->getLoginUrl(array('redirect_uri'
=> $fbconfig['appBaseUrl'],
'scope' => 'manage_notifications,publish_stream,publish_actions'
)) . "'</script>";
exit();
}
我读到了添加这个: if(window.location.hash =='# = ')window.location.hash ='';但它似乎没有做任何事情。
答案 0 :(得分:1)
我在最新的应用上遇到了同样的问题。 通过使用&lt;中的上述代码解决了它。头&gt;部分。 不要忘记将PHP SDK升级到最新版本。
<?
$facebook = new Facebook(array(
'appId' => 'XXX',
'secret' => 'YYY',
));
$user = $facebook->getUser();
if ($user) {
$logoutUrl = $facebook->getLogoutUrl();
} else {
$loginUrl = $facebook->getLoginUrl(array(
'scope' => 'user_likes'
));
echo "<script type='text/javascript'>top.location.href = '$loginUrl';</script>";
exit;
}
?>