Facebook에서 sucessfull 사용자 로그인 후 리디렉션 URL에 배치 한 코드 아래에있는 PHP SDK 3.2.2를 사용하여 Facebook에서 액세스 토큰을 검색하려고합니다. . 내 문제는 $ this-> facebook-> getAccessToken() 사용자가 APP에 대한 액세스 권한을 부여한 후에 사용자 액세스 토큰을 되돌려주지 않고 'AppId | AppSecret'형식의 문자열 만 입력하면됩니다. 수동으로 사용자 액세스 토큰을 가져 오는 코드를 포함하십시오. 이 작업은,하지만 난 모르겠어요 getAccessToken을 사용하면 올바른 토큰을 돌려주지 않는 이유는 무엇입니까? $ code를 사용하는 것보다 User Access Token을 검색하는 더 좋은 방법이 있다면 이것이 좋은 방법이라고 생각하지 않기 때문에 어떻게하는지 알고 싶습니다.Facebook에서 Access Token 가져 오기 PHP SDK가 제대로 작동하지 않습니다.
참고 : Codeigniter 라이브러리로로드하기 때문에 $ this-> facebook을 사용합니다.
$access_token = $this->facebook->getAccessToken();
//-------------------------------------------------------------------------
//echo '<br/>Access Token: ' . $access_token;
// Generare Token if not created:
$code = $_REQUEST["code"];
if (isset($code)) {
//echo '<br/>Code Enviado: ' . $code;
//exit();
$appId = $this->facebook->getAppId();
$appSecret = $this->facebook->getAppSecret();
$redirectTo = base_url('asociar/acc_facebook/step2/');
$token_url="https://graph.facebook.com/oauth/access_token?client_id="
. $appId . "&redirect_uri=" . urlencode($redirectTo)
. "&client_secret=" . $appSecret
. "&code=" . $code . "&display=popup";
$response = file_get_contents($token_url);
$params = null;
parse_str($response, $params);
$access_token = $params['access_token'];
//echo '<br/>Repitiendo el Token';
$this->facebook->setAccessToken($access_token);
//echo '<br/>Second Access Token Fijado: ' . $access_token;
}
//-----------------------------------------------------------------------
UPDATE :
나는 (그것에 대해 내 자신의 대답을 확인) PHP SDK와 함께 CI를 사용으로 인해이 문제가 있지만, 대답은 페이스 북 PHP SDK이 문제가 사람 (확인에 유효 @Imbru 대답)
안녕하세요! 내가 당신의 답변을 수락 한 것으로 표시했는데, 내가 체크하지는 않았지만, 네가 옳다는 것을 확신하기 때문이다. Codeigniter PHP 네이티브 세션을 사용하지 마십시오. 쿠키의 모든 데이터를 보냅니다. 따라서 Facebook SDK가 SESSION에 토큰의 값을 저장하려고 시도 할 때 쿠키의 데이터를 저장할 수 없습니다. – Chococroc