2012-06-19 5 views
0

Facebook API를 사용하여 사용자를 로그인하는 사이트에서 작업하고 있지만 Facebook API 자체에 문제가 있습니다. CodeIgniter를 사용한 결과라고 생각합니다.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와 비밀을 설정 파일을 읽어 들이고, 심지어 배열로 올바르게 전달되는지 확인하기 위해 여기에 에코를 남겨 둡니다. $this->user;은 UID에 대해 항상 0을 반환합니다. 내가 뭘 놓치고 있니?

나는이 question이 문제가되는 uri_protocol에 대해 이야기했지만, 처음에는 mod_rewrite 스크립트를 사용하도록 설정했기 때문에 동일한 문제인지 아닌지 의심 스럽습니다. 어떤 충고?

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

답변

0

내가 링크 된 질문에 대한 답변은 실제로 나를 위해 문제를 해결 -> 항목 ('app_folder_path'). "application/libraries/Facebook/facebook.php");

config.php 파일에 app_folder_path 구성 변수를 설정했는지 확인하십시오.

0

사용이 .. require_once를 ($ _ SERVER [ 'DOCUMENT_ROOT'] "/"$ this-> 설정 :..

+0

사실 Facebook API를로드하는 데 문제가 없었습니다. 아래에 나와있는 대답에 따르면 리퍼러가 facebook 인 경우 'PATH_INFO'로, 그렇지 않으면 REQUEST_URI로 uri_protocol을 변경했습니다. 답변을 제공해 주셔서 감사합니다. – ametren

관련 문제