我正在开发一个使用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;
}
}
我've double and triple-checked my appid and secret in the config file, and even echoed it here to make sure it'正确地以数组形式出现,但仍然没有 . $this->user;
不断为UID返回0 . 我错过了什么?
我刚刚看到这个question谈到了uri_protocol是问题所在,但是我必须设置 $config['uri_protocol'] = 'QUERY_STRING';
以使我的mod_rewrite脚本首先工作,这让我想知道它是否是同一个问题 . 有什么建议?
2 回答
我链接的问题的答案实际上为我解决了问题:
使用此.. require_once($ _ SERVER ['DOCUMENT_ROOT'] . “/” . $ this-> config-> item('app_folder_path') . “application / libraries / Facebook / facebook.php”);
确保在config.php文件中设置了app_folder_path配置变量 .