繁体   English   中英

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,我该如何解决这个问题呢?

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

$opts = self::$CURL_OPTS;

紧随其后,添加:

$opts[CURLOPT_SSL_VERIFYPEER] = false; 

或从这里阅读

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

与要求getUser相反,要求在try catch块中包装api(/ me)。 如果失败,则用户未登录/令牌无效。 如果可行,则用户已登录,您可以从结果数组中获取用户ID。

您可能正在保存呼叫,因为无论如何您都要求/ me。 只要记住尝试捕获错误的陷阱即可!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM