getUser()在Codeigniter中总是返回0


getUser() always return 0 in Codeigniter

我开始使用codeigniter框架创建一个小型应用程序在Facebook内创建应用程序后,我已经从github下载了Facebook连接,目前一切正常,我唯一的问题是getUser()总是返回0

我在application/config/中创建了一个facebook.php另外,我在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

base_facebook.php上,找到makeRequest()方法,然后在函数内部找到以下行:

$opts = self::$CURL_OPTS;

紧随其后,添加:

$opts[CURLOPT_SSL_VERIFYPEER] = false; 

或从这里读取

它有时会这样做。我从来没有弄清楚为什么,但有一个简单的解决方案,我现在总是遵循。

与请求getUser相反,请求封装在try-catch块中的api(/me)。如果失败,则用户未登录/令牌无效。如果有效,则用户将登录,并从结果数组中获取用户id。

你可能正在节省一个电话,因为你无论如何都会找我。只需记住错误捕获的try-catch!