さて、私は 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 ... ";
}
}
}