Facebook权限请求,无休止的重定向循环

Facebook权限请求,无休止的重定向循环,facebook,facebook-php-sdk,Facebook,Facebook Php Sdk,我有以下代码: require 'facebook.php'; $facebook = new Facebook(array( 'appId' => 'xxxxxxx', 'secret' => 'yyyyyyy', 'baseUrl' => 'http://xxx.yyy.zz/', 'appBaseUrl' => 'http://apps.facebook.com/xxxxxx/', 'fileUpload' => 'true', )); $user = $

我有以下代码:

require 'facebook.php';

$facebook = new Facebook(array(
'appId' => 'xxxxxxx',
'secret' => 'yyyyyyy',
'baseUrl' => 'http://xxx.yyy.zz/',
'appBaseUrl' => 'http://apps.facebook.com/xxxxxx/',
'fileUpload' => 'true',
));

$user = $facebook->getUser();

$params = array(
  scope => 'publish_stream,user_photos',
  redirect_uri => 'http://www.facebook.com/xxxxxx?sk=app_123456789'
    );

if ($user){
    ....
}

$loginUrl = $facebook->getLoginUrl($params);

if ($user){
// nothing
}else{
  echo "<script type=\"text/javascript\">top.location.href = \"".$loginUrl."\";</script>";
}
需要“facebook.php”;
$facebook=新的facebook(数组)(
“appId”=>“xxxxxxx”,
“机密”=>“YYYYYY”,
'baseUrl'=>'http://xxx.yyy.zz/',
'appBaseUrl'=>'http://apps.facebook.com/xxxxxx/',
“fileUpload”=>“true”,
));
$user=$facebook->getUser();
$params=数组(
范围=>'发布\u流,用户\u照片',
重定向_uri=>'http://www.facebook.com/xxxxxx?sk=app_123456789'
);
如果($user){
....
}
$loginUrl=$facebook->getLoginUrl($params);
如果($user){
//没什么
}否则{
echo“top.location.href=\”.$loginUrl.\“;”;
}
我的问题是,它进入了一个无休止的循环。。。反复加载页面。 有人能帮我修一下吗


多谢各位

我认为问题在于你的
重定向uri
。请尝试定义url的真实路径(www.yourdomain.com/app/index.php),因为Facebook将向该url发送帖子(包括代码),并且不会将其与应用程序数据或签名请求一起传递给iFrame应用程序。

问题在于index.php中的主要逻辑不是int。在我将所有内容放回该页面后,重定向停止。

但是如果我将其更改为应用程序的托管URL,它将离开嵌入它的Facebook页面(iFrame),然后尝试将
top.location.href
替换为
document.location.href
,或者将重定向uri设置为服务器上的单个脚本页面(例如,在fb sdk初始化的情况下)并重定向到您的选项卡url。然后应该对用户进行身份验证。没有更改:(尝试过。redirect_uri是一个带有JS reddirection的.php(包括facebook数组),但它仍然进入重新加载循环:(我不明白有什么问题……)。。。。