2012-08-22 91 views
0

我開始創建一個小應用程序,使用codeigniter框架 ,並且我已經在facebook上創建我的應用程序後,從github下載了Facebook連接,此時所有工作正常,我唯一的問題是getUser()總是返回0在Codeigniter中getUser()總是返回0

我已創建內部application/config/ 一個facebook.php ALSE我已經內application/libraries/

提取facebook.php & base_facebook.php這是我的代碼

class Welcome extends CI_Controller { 

    private $data = array(); 



    public function index() { 
     $this->data['loginUrl'] = $this->facebook->getLoginUrl(); 
     $this->data['userId'] = $this->facebook->getUser(); 
     $this->load->view('welcome_message', $this->data); 
    } 

} 

在自動加載 我有:

$autoload['libraries'] = array('database','session','facebook'); 

爲什麼getUser()返回0,我怎樣才能解決這個問題 THX

回答

0

它這樣做,有時。我從來沒有搞清楚爲什麼,但現在我總是遵循一個簡單的解決方案。

與請求getUser相反,請求包裝在try catch塊中的api(/ me)。如果失敗,用戶未登錄/令牌無效。如果它起作用,用戶登錄,並從結果數組中獲得用戶標識。

你可能會保存一個電話,因爲無論如何你都會問我。只要記住錯誤捕獲的嘗試捕獲!

+0

讀我有一個錯誤,當我使用 Fatal error: Uncaught CurlException: 77: error setting certificate verify locations: CAfile: C:\wamp\www\project\application\libraries/fb_ca_chain_bundle.crt CApath: none thrown in C:\wamp\www\project\application\libraries\base_facebook.php on line 967

+0

在這種情況下,不同的問題:http:// stackover flow.com/questions/8994059/facebook-application-development-using-php-sdk可能有幫助嗎?您需要編輯base_facebook.php以在makerequest()函數中添加捲曲選項 – Robbie

3

base_facebook.php,找到makeRequest()方法,而且,在函數內部,找到這一行:

$opts = self::$CURL_OPTS; 

緊隨其後,加入:

$opts[CURLOPT_SSL_VERIFYPEER] = false; 

here

相關問題