2012-02-17 62 views
4

我的应用程序卡在无限重定向循环中,因为$ facebook-> getUser();总是返回0.我已经通过stackoverflow和其他网站上的许多线程以及有关类似的问题,但迄今没有找到解决方案。我用下面的代码进行验证:应用程序身份验证卡在无限重定向循环

// 
$facebook = new Facebook(array(
    'appId' => APP_ID, 
    'secret' => APP_SECRET, 
    'cookie' => true, 
)); 

// Get User ID 
$user = $facebook->getUser(); 
if ($user) { 
    try { 
    // Proceed knowing you have a logged in user who's authenticated. 
    $user_profile = $facebook->api('/me'); 
    } catch (FacebookApiException $e) { 
    error_log($e); 
    $user = null; 
    } 
} 

// Login or logout url will be needed depending on current user state. 
if ($user) { 
    $logoutUrl = $facebook->getLogoutUrl(); 
} else { 
    $loginUrl = $facebook->getLoginUrl(
    array (
     "scope" => "user_likes,email,user_hometown,publish_stream", 
     "redirect_uri" => "https://www.facebook.com/pages/erdekelnehu/268142359907805?sk=app_175080802604575" 
    )); 
    die ('<script type="text/javascript">top.location.href="' . $loginUrl . '";</script>'); 
} 

一些调试我发现,从OAuth的重定向对话框我的应用程序这么想的有signed_request后。 $ _GET,$ _POST和$ _REQUEST都是空数组。 $ facebook-> getLoginUrl返回以下网址: https://www.facebook.com/dialog/oauth?client_id=175080802604575&redirect_uri=https%3A%2F%2Fwww.facebook.com%2Fpages%2Ferdekelnehu%2F268142359907805%3Fsk%3Dapp_175080802604575&state=3c0d5802c89e913368ea814d49792454&scope=user_likes%2Cemail%2Cuser_hometown%2Cpublish_stream

我打过电话$ facebook-> getLoginUrl没有REDIRECT_URI参数,把它留给fb的找出正确的返回网址: https://www.facebook.com/dialog/oauth?client_id=175080802604575&redirect_uri=https%3A%2F%2Ferdekelne.hu%2Fdroidtv%2F&state=3c0d5802c89e913368ea814d49792454&scope=user_likes%2Cemail%2Cuser_hometown%2Cpublish_stream

两个网址不一样,都没有工作。第二个url重定向到一个fb错误页面,表示发生了一些错误,“我们正在努力尽快解决这个问题”。 那么它可能是一个FB错误,或者我做错了什么?任何想法将不胜感激,经过6个小时的调试后,我已经完全用完了。

+0

检查1.您是否在应用程序注册中正确配置了您的网站网址(请注意,www.www.example.com不等于example.com)。2.您是否从注册的域名申请。 – 2012-02-17 12:54:21

+1

我终于设法整理出来了。我必须在应用程序设置页面上将index.php附加到我的页面标签网址。现在一切都很好。 – Necrophorus 2012-02-19 11:59:30

回答

0

刚刚得到类似问题,它已通过更新目录名称(放置应用程序的位置)中的空格解决为与URL兼容的字符(即%20)。它像一个魅力。