1

さて、私は codeigniter を使用して Facebook でログインを実装しようとしています getUser() function を呼び出すと常に 0 になります。考えられるすべての解決策を試しましたが、どれもうまくいきません。理由はわかりません。これが私の Facebook ライブラリ クラスです。 :

<?php 

include(APPPATH.'libraries/facebook/facebook.php');

class Fbconnect extends Facebook {

    public $user = NULL;
    public $user_id = FALSE;
    public $fb = FALSE;
    public $fbSession = FALSE;
    public $appkey = 0;

    public function Fbconnect(){

        $ci =& get_instance();
        $ci->config->load('facebook', TRUE);
        $config = $ci->config->item('facebook');        
        parent::__construct($config);
        parse_str( $_SERVER['QUERY_STRING'], $_REQUEST );

        $this->user_id = $this->getUser();
        $me = null;
        if($this->user_id){
            try{
                $me = $this->api('/me');
                $this->user = $me;
            } catch(FacebookApiException $e){
                error_log($e);
            }
        }

    }

}

ここで私のメインコントローラー:

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class Main extends CI_Controller {


    public function index()
    {

            $this->load->view('index');
    }

        public function fb_request()
        {
            $this->load->library('fbconnect');
            $data = array(
                'redirect_uri' => site_url('main/handle_facebook_login'),
                'scope' => array('email','user_birthday')
            );
            redirect($this->fbconnect->getLoginUrl($data));
        }

        public function handle_facebook_login()
        {
            $this->load->library('fbconnect');
            $user = $this->fbconnect->user;
            echo "<pre>";
                print_r($user);
                echo "</pre>";
            if($user)
            {
                echo "<pre>";
                print_r($user);
                echo "</pre>";
            }
            else
            {
                echo "Could not login ... ";
            }
        }

}
4

2 に答える 2

1

これと同じ問題が深刻な片頭痛を引き起こしました..笑 しかし、問題を解決したのは、fb ログイン リダイレクト URL と Facebook アプリ サイト URL の両方に index.php を含めることでした。私は codeigniter で htaccess を使用していたので、すべてのページ要求で呼び出されていても、URL で index.php を使用しませんでした。多分あなたはそれを試してみるべきです。

于 2013-03-27T11:00:58.090 に答える
0

アプリケーションごとに AppId と秘密鍵が正しいことを確認してください。アプリケーションがアクティブになるまでに時間がかかる場合があります。

于 2013-01-15T03:57:39.480 に答える