Я пойду вперед и буду чувствовать себя глупо перед всеми, потому что я не могу определить, в чем проблема, хотя я подозреваю, что это будет настоящий стон. может быть, описание этого заставит меня задуматься.
Я делаю интеграцию Facebook Connect с CI2.0, основываясь на работе этого парня:
http://hitsend.ca/2010/10/facebook-connect-user-authentication-using-the-new-graph-api-in-codeigniter/
, который я обновил до 2.0
некоторые соответствующие биты кода:
конфиг / facebook.php:
$config['facebook_api_key'] = 'xxx'; (it is the ID, not the key, as he misnamed his array key)
$config['facebook_secret_key'] = 'xxx';
Контроллеры / fb_login.php
function index() {
$this->load->library('fb_connect');
библиотеки / fb_connect.php
include(APPPATH.'libraries/facebook/facebook.php');
class fb_connect {
....
function fb_connect()
{
//Using the CodeIgniter object, rather than creating a copy of it
$this->_obj =& get_instance();
//loading the config paramters for facebook (where we stored our Facebook API and SECRET keys
$this->_obj->load->config('facebook');
//make sure the session library is initiated. may have already done this in another method.
$this->_obj->load->library('session');
$this->_api_key = $this->_obj->config->item('facebook_api_key');
$this->_secret_key = $this->_obj->config->item('facebook_secret_key');
$this->appkey = $this->_api_key;
//connect to facebook
$this->fb = new Facebook(array(
'appId' => $this->_api_key,
'secret' => $this->_secret_key,
'cookie' => true
));
и, наконец, php-библиотека facebook:
библиотеки / facebook / facebook.php
public function __construct($fb_config) {
print_r($fb_config);
$this->setAppId($fb_config['appId']);
$this->setApiSecret($fb_config['secret']);
if (isset($fb_config['cookie'])) {
$this->setCookieSupport($fb_config['cookie']);
}
Лучший способ описать проблему - это просто дать вывод print_r ($ fb_config):
Array ( [facebook_api_key] => xxx [facebook_secret_key] => xxx)
и
Сообщение: неопределенный индекс: appId
Сообщение: неопределенный индекс: секрет
Facebook __construct () загружается с массивом $ config [] файла конфигурации; Понятия не имею, почему он это делает.
Заранее спасибо за любые выводы или заметки о «глупых вещах, которые я сделал»