我的Facebook登录应用无法访问。 (每秒加载页面)

时间:2014-10-22 13:17:28

标签: codeigniter facebook-php-sdk facebook-login

我无法使用我的Facebook登录应用程序。 它刚刚发生在今天。这是昨天的工作。 URL会不断变化并每秒重新加载。

实施例: 从 http://www.myurl.com/welcome/signInWithFB?code=123123213&state=454545454545454#=http://www.myurl.com/welcome/signInWithFB?code=56565656&state=787878787878#=

并永远改变。

我正在使用codigniter

我的控制器:

public function signInWithFB(){
        session_start();
        $fb_config = array(
            'appId'  => 'my id',
            'secret' => 'my secret'
        );

        $this->load->library('facebook', $fb_config);

        $user = $this->facebook->getUser();

        if ($user) {
            try {
                $data['user_profile'] = $this->facebook
                    ->api('/me');
                $data['friends'] = $this->facebook->api('/me/friends');
                $_SESSION['friends']= $data['friends'];

            } catch (FacebookApiException $e) {
                $user = null;
            }
        }

        if ($user) {
            $data['logout_url'] = $this->facebook
                ->getLogoutUrl();
        } else {
            $data['login_url'] = $this->facebook
                ->getLoginUrl(
                    array(
                        'scope' => 'email, user_friends'
                    )
                );
        }
        if(isset($data['user_profile'])){
            $_SESSION['id']= $data['user_profile']['id'];
            $_SESSION['username']= $data['user_profile']['name'];
            $_SESSION['email']= $data['user_profile']['email'];
            $_SESSION['avatar'] = $this->dbs->getAvatar($_SESSION['username']);


        }


        $this->dbs->insertUserFromFB();

        $this->load->view('signInWithFB',$data);

    }

我的观点:

<?php
if (@$user_profile): ?>
    <meta http-equiv="refresh" content="0; url=<?=base_url('welcome/profile');?>" />
<?php else: ?>
    <meta http-equiv="refresh" content="0; url=<?=$login_url;?>" />
<?php endif; ?>
Please Wait...

PS。我试图找到解决方案,但它适用于我的每个网络浏览器。(不仅是我发现的IE)

感谢您提前。

1 个答案:

答案 0 :(得分:0)

在FB getUser调用之后,添加print_r($user)并查看其中的内容。您可能有FB配置问题。看起来您的代码可能正在捕获该异常并使$user=null和您的问题级联起来。在那个问题中,做一个echo $e->getMessage ()和FB可能会告诉你问题是什么。

哦,你可能必须在print_r / echo行之后立即die(),这样它就不会一遍又一遍地重新加载。