简体   繁体   English

为什么$ this-> facebook-> getUser(); 返回0?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM