0

私はすべてを試しました。ドメインを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の成功は私のサイトに私をリダイレクトします..

4

2 に答える 2

1

コードの微調整

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-06-19T17:41:55.827 に答える