我什么都试过了。我将我的域更改为非localhost。
<?php if (!defined('BASEPATH')) exit('No direct script access allowed');
class MY_Controller Extends CI_Controller
{
var $data;
var $master;
function __construct()
{
parent::__construct();
$this->data = array();
$this->master = "layout/master";
parse_str( $_SERVER['QUERY_STRING'], $_REQUEST );
$CI = & get_instance();
$CI->config->load("facebook",TRUE);
$config = $CI->config->item('facebook');
$this->load->library('Facebook', $config);
$user = $this->facebook->getUser();
if ($user == 0)
$this->data['login_url'] = $this->facebook->getLoginUrl(array("scope" => "user_about_me"));
else{
$user = $this->facebook->api('/me');
$this->data['logout_url'] = $this->facebook->getLogoutUrl();
}
print_r($user);
print_r($this->facebook->getAccessToken());
}
}为什么获取AccessToken成功,但$user仍然返回0?我在stackoverflow和google上找遍了。
facebook成功将我重定向回我的网站,如果我不清楚..
发布于 2013-06-20 01:41:56
调整你的代码
function __construct()
{
parent::__construct();
$this->data = array();
$this->master = "layout/master";
parse_str( $_SERVER['QUERY_STRING'], $_REQUEST );
$CI = & get_instance();
$CI->config->load("facebook",TRUE);
$config = $CI->config->item('facebook');
$this->load->library('Facebook', $config);
}
function facebook_login()
{
$user = $this->facebook->getUser();
if($user == 0){
$loginUrl = $this->facebook->getLoginUrl(array("scope"=>"user_about_me"));
redirect("$loginUrl","location");
} else {
$user_info = $this->facebook->api('/me');
print_r($user_info);
}
}发布于 2013-08-16 22:25:38
我花了几个小时尝试了许多修复,注意到我的域名在facebook中被设置为http://domain.co.uk,而getLoginUrl则指向http://www.domain.co.uk。
https://stackoverflow.com/questions/17189689
复制相似问题