私はこれを何時間も理解しようとしており、利用可能なすべての投稿を試しました。
私はJavascript SDKを使用していません。PHP SDKとその最新のもののみを使用しています。
github からダウンロードした最新の証明書があり、同じものを含めました。
サンドボックスが無効になっています
新しいFacebookライブラリを作成しています
<?php
include(APPPATH.'libraries/facebook/facebook.php');
class Fbconnect extends Facebook
{
public $user = NULL;
public $user_id = NULL;
public $fb = false;
public $fbSession = false;
public $appkey = 0;
public $tests = 5;
public 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;
$tests = $this->user_id;
}
catch(FacebookApiException $e)
{
error_log($e);
}
}
}
}
私のログインコントローラー
public function facebook_request()
{
$this->load->library('fbconnect');
$data = array(
'redirect_uri' => site_url('login/handle_facebook_login'),
'scope' => 'email , user_birthday, user_interests'
);
redirect($this->fbconnect->getLoginUrl($data));
}
public function handle_facebook_login()
{
$this->load->library('fbconnect');
if($this->fbconnect->user)
{
echo "<pre>";
print_r($this->fbconnect->user);
echo "</pre>";
}
else
{
echo 'could not login<br/>';
var_dump($this->fbconnect->user_id);
echo '<br/>' ; echo $this->fbconnect->tests; echo '<br/>' ; var_dump($this->fbconnect->tests);
}
}
/config/facebook.php で appId とシークレットを定義しました。
出力は次のとおりです。
could not login
int(0)
5
int(5)