[英]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.