我正在开发一个使用 Facebook API 让用户登录的网站,但我在使用 Facebook API 本身时遇到了一些莫名其妙的问题。我认为这是使用 CodeIgniter 的结果。
我添加了一个不使用 Codeigniter 的 PHP 脚本,它可以连接。它看起来像这样:
require_once("application/libraries/Facebook/facebook.php");
$facebook = new Facebook(array(
'appId' => 'appid-removed-for-question',
'secret' => 'secret-removed-for-question',
));
$user = $facebook->getUser();
echo $user;
这会从 Facebook 返回相应的 UID。
一旦我尝试使用 CodeIgniter 库执行此操作,UID 始终返回为 0。这是库代码:
include(APPPATH.'libraries/Facebook/facebook.php');
class Fb_connect extends Facebook{
public $user;
public function __construct()
{
$CI =& get_instance();
$CI->config->load("facebook",TRUE);
$config = $CI->config->item('facebook');
parent::__construct($config);
$this->user = $this->getUser();
echo $this->user;
}
}
我在配置文件中对我的 appid 和 secret 进行了双重和三重检查,甚至在此处回显它以确保它作为数组正确通过,但仍然没有。 $this->user;
不断为 UID 返回 0。我错过了什么?
我刚刚看到这个问题,它谈到了 uri_protocol 是问题,但我必须首先设置$config['uri_protocol'] = 'QUERY_STRING';
让我的 mod_rewrite 脚本工作,这让我想知道它是否是同一个问题。有什么建议吗?