2012-06-19 2 views
0

Я работаю над сайтом, который использует API Facebook для входа в систему, но у меня возникают некоторые проблемы с API Facebook. Я думаю, что это результат использования CodeIgniter.Facebook API работает, но не с codeigniter?

Я добавил скрипт PHP, который не использует Codeigniter, и он может подключаться. Это выглядит так:

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; 

Это возвращает соответствующий UID из Facebook.

Как только я пытаюсь сделать это, используя библиотеку 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 и секрет в конфигурационный файл и даже повторил его здесь, чтобы убедиться, что он проходит как массив правильно, но все равно ничего. $this->user; постоянно возвращает 0 для UID. Что мне не хватает?

Я только что видел этот question в котором говорится о uri_protocol будучи проблемы, но я должен был установить $config['uri_protocol'] = 'QUERY_STRING';, чтобы получить мой mod_rewrite скрипт работает в первую очередь, что заставляет меня задаться вопросом, если это та же проблема или нет. Любой совет?

ответ

0

Ответ на этот вопрос я связан фактически устранило проблему для меня:

$config['uri_protocol'] = 
    (isset($_SERVER['HTTP_REFERER']) && 
    strpos($_SERVER['HTTP_REFERER'], 'apps.facebook.com') !== false) ? 
     "PATH_INFO" : "REQUEST_URI"; 
0

использование этого .. require_once ($ _ SERVER [ 'DOCUMENT_ROOT'] "/" $ this-> конфигурации.. . -> пункт ('app_folder_path') "приложения/библиотеки/Facebook/facebook.php");

Убедитесь, что вы установили переменную config app_folder_path в файл config.php.

+0

Да, на самом деле у него не было проблем с загрузкой API Facebook - как я уже сказал ниже, у меня было изменение uri_protocol на 'PATH_INFO', если рефериром была facebook или' REQUEST_URI' в противном случае. Спасибо за ответ, в любом случае! – ametren

Смежные вопросы