0

こことウェブで問題を検索しましたが、解決策が見つかりませんでした。これは私を夢中にさせます。問題が何であるかわかりません。問題は、getUser() 関数が常に 0 を返すことです。

ここに私のライブラリ:

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

    class Fbconnect extends Facebook{

        public $user_id = null;
        public $user = null;

        function Fbconnect(){
            $ci =& get_instance();
            $ci->load->config('facebook',true);
            $config = $ci->config->item('facebook');
            parent::__construct($config);
            $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);
                }
            }
        }
    }

そしてこれがコントローラー

function facebookRequest(){
        $this->load->library('fbconnect');
        $data = array(
            'redirect_uri' => base_url().'home/handleFacebookRequest',
            'scope' => 'email'
        );

        redirect($this->fbconnect->getLoginUrl($data));
    }

    function handleFacebookRequest(){
        $this->load->library('fbconnect');
        if($this->fbconnect->user){
            echo '<pre>';
            print_r($this->fbconnect->user);

        }else{
            echo "Login operation faild, try again later";
        }
    }

appId と secrect を格納するために構成ファイルを使用しました

$config = array(
    'appId' => 'xxxxxx',
    'secret' => 'xxxxxxxxxxxxxxxxxxxx',
    'cookie' => true
);
4

1 に答える 1

1

プラグインAPPPATH.'libraries/facebook.php'(Facebook からダウンロードしたと思われます) には関数がありますerrorLog($msg)。この関数はエラーを php エラー ログ (または apache エラー ログ) に記録します。それをエコーし​​て$msg、エラーがあるかどうかを確認できます。それに応じてデバッグします。

ダウンロードしたコアファイルで何も変更していない場合、私の賭けは、 ) の curl リクエストを に 設定する function makeRequest(args[..]必要があるか、またはこの行 を追加する必要があることです: を追加する必要がありますCURLOPT_SSL_VERIFYPEERfalse$opts[CURLOPT_SSL_VERIFYPEER] = false;

于 2013-06-04T10:08:09.020 に答える