2015-07-10 83 views
1

我有一個用戶數據的問題 - 我接收Facebook登錄後的唯一數據是'name'和'id',這是用戶的Facebook ID。我還需要收到'firstname','lastname'和'email。Facebook登錄/註冊與Codeigniter - 用戶數據

我測試在本地主機的網站,我在developers.facebook.com

創建應用程序也許問題是,應用程序是在開發模式,這就是爲什麼它不給我完整的數據?

這裏是我的拍攝用戶數據代碼:

<?php 
include(APPPATH.'libraries/facebook/facebook.php'); 

class Fbconnect extends Facebook { 

    public $user = null; 
    public $user_id = null; 
    public $fb = false; 
    public $fbSession = false; 
    public $appKey = 0; 

    public function Fbconnect() { 

     $ci =& get_instance(); 
     $ci->config->load('facebook', TRUE); 
     $config = $ci->config->item('facebook'); 

     parent::__construct($config); 

     $this->user_id = $this->getUser(); 
     $me = null; 
     if($this->user_id) { 
      try{ 
       $me = $this->api('/me'); 
       $this->user = $me; 
      } catch(FacebookApiException $e) { 
       error_log($e); 
      } 
     } 
    } 
} 
+0

您是否已經使用API​​ v2.4?然後閱讀https://developers.facebook.com/docs/apps/changelog#v2_4 – CBroe

+0

謝謝,我解決了我的問題 - 在2.4版本中,我們必須聲明我們要檢索的數據。 –

回答

0
$my_profile_info = (new FacebookRequest($session, 'GET', '/me/?fields=id,first_name,last_name,email,picture,gender,location,address,email,hometown'))->execute()->getGraphObject()->asArray(); 

希望這有助於太回答你的問題。 Facebook Official Documentation

您可以使用您用於APP的相同Facebook ID登錄,以顯示這些數據,或者您可以使用Facebook工具(如https://developers.facebook.com/tools/explorer/)查詢Facebook數據庫。

+0

謝謝,真的很有幫助! :) –