私はcodeigniterでログインFacebookアプリ(Facebook SDK)を開発しました。まず、ローカルで行います。
ログインが成功すると、Facebookはredirect_uriによってサイドコントローラーにリダイレクトされ、userIdを取得して、ログに記録されたユーザーの情報を照会します。
しかし、このコードをサーバー側にアップロードすると、redirect_uri は機能しますが、userId のリターンが 0 になるため、userId が 0 の場合、ログに記録されたユーザーのデータを照会できません。
私の質問は、ログインが成功した後、なぜ userId が 0 を返すのですか?
コード コントローラー:
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
    class Setting extends CI_Controller {
       public function __construct()
       {   
          $CI = & get_instance();
          $CI->config->load("facebook",TRUE);
          $config = $CI->config->item('facebook');
          $this->load->library('facebook', $config);
       }
       public function index() 
       {
             if($this->form_validation->run() == FALSE){
                 $this->acc_login();
             }else {
                 redirect('check_session', 'refresh');  
             }
       }
       public function acc_login()
       {
             $user = $this->facebook->getUser();
             if($user) {
             try {              
                  $user_info = $this->facebook->api('/me');
                  redirect(base_url());             
             } catch(FacebookApiException $e) {
                  echo '<pre>'.htmlspecialchars(print_r($e, true)).'</pre>';
                  $user = null;
             }
             } else {
                    $param = array('scope' => 'email,read_stream','redirect_uri' => $my_url);
                    $data['getURLLogin'] = "<a href=\"".$this->facebook->getLoginUrl($param)."\"><img src=\"".base_url()."public/frontend/images/login-fb.png\" width=\"155\" height=\"25\" /></a>";
             }
       }
    }
?>