[英]why $this->facebook->getUser(); returns 0?
我已經嘗試了一切。 我將域更改為非本地主機。
<?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成功將我重定向到我的網站。
調整您的代碼
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.