我试图解决这个问题已经好几个小时了,我已经尝试了所有可用的帖子。
我没有使用 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 和 secret。
这是输出:
could not login
int(0)
5
int(5)