【问题标题】:getUser() always return 0 in CodeignitergetUser() 在 Codeigniter 中总是返回 0
【发布时间】:2012-08-22 08:37:07
【问题描述】:

我开始使用 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,我该如何解决这个问题 谢谢

【问题讨论】:

    标签: php facebook codeigniter


    【解决方案1】:

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

    $opts = self::$CURL_OPTS;
    

    紧随其后,添加:

    $opts[CURLOPT_SSL_VERIFYPEER] = false; 
    

    或阅读here

    【讨论】:

      【解决方案2】:

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

      与请求 getUser 不同,请求包含在 try catch 块中的 api(/me)。如果失败,则用户未登录/令牌无效。如果有效,则用户已登录,您可以从结果数组中获取用户 ID。

      你可能正在保存一个电话,因为无论如何你都会要求 /me。请记住用于错误捕获的 try catch!

      【讨论】:

      • 我在使用 时遇到了一个错误 致命错误:未捕获的 CurlException:77:错误设置证书验证位置:CAfile:C:\wamp\www\project\application\libraries/fb_ca_chain_bundle.crt CApath:在第 967 行的 C:\wamp\www\project\application\libraries\base_facebook.php 中没有抛出任何内容
      • 在这种情况下,不同的问题:stackoverflow.com/questions/8994059/… 可能有帮助吗?您需要编辑 base_facebook.php 以在 makerequest() 函数中添加 curl 选项
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-07-04
      • 2012-02-12
      • 2012-08-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-10-16
      相关资源
      最近更新 更多