[英]why $this->facebook->getUser(); returns 0?
i've tried everything. 我已经尝试了一切。 i changed my domain to other than 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());
}
}
Why do i success to obtain the AccessToken, but $user still return 0? 为什么我成功获取AccessToken,但是$ user仍然返回0? i searched all over stackoverflow and google.
我搜索了全部stackoverflow和google。
facebook success to redirect me back to my site, if i was not clear.. 如果我不清楚,facebook成功将我重定向到我的网站。
Tweaking your code 调整您的代码
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);
}
}
我花了好几个小时来尝试许多修复程序,并注意到我的域在Facebook中设置为http://domain.co.uk
,而getLoginUrl
却定向到http://www.domain.co.uk
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.