getUser()始终在Codeigniter中返回0

时间:2012-08-22 08:37:07

标签: php facebook codeigniter

我开始使用codeigniter框架创建一个小应用程序 我在facebook内创建我的应用程序后,我从github下载了Facebook连接,此时所有工作都没问题,我唯一的问题是getUser()总是返回0

我在application/config/内创建了一个facebook.php 另外我在facebook.php & base_facebook.php

中提取application/libraries/

这是我的代码

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

2 个答案:

答案 0 :(得分:3)

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

$opts = self::$CURL_OPTS;

紧随其后,添加:

$opts[CURLOPT_SSL_VERIFYPEER] = false; 

或阅读here

答案 1 :(得分:0)

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

与要求getUser相反,请求在try catch块中包含api(/ me)。如果失败,则用户未登录/令牌无效。如果它工作,则用户登录,并从结果数组中获取用户ID。

你可能正在保存一个电话,无论如何你会要求/我。请记住try catch for error trapping!