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