Facebook 용 iframe 앱을 만드는 데 이상한 문제가 있습니다. 앱이 Go To App (앱으로 이동) 페이지의 무한 루프에서 멈추는 것처럼 보입니다.Facebook PHP SDK 3.1.1 App to page 후 "액세스 토큰 유효성 검사 오류"
사용자가 Go To App 페이지에서 앱을 인증하고 앱으로 돌아 오면/mei api 호출이 "액세스 토큰 유효성 검사 오류"예외를 throw합니다. 내가 확인한 서명 된 요청 (페이스 북 액세스 토큰 디버깅 도구로 테스트)에 유효한 액세스 토큰이 있습니다. setAccessToken() 메서드를 사용하여 설정을 시도했지만 실패했습니다. getUser() 메서드는 성공적으로 사용자 ID를 반환하지만 여전히/mei api 호출시 중단됩니다.
모든 브라우저에서 발생하는 것은 아니지만 Chrome에서 분명히 명확한 패턴이 나타나지 않고 있습니다. P3P 헤더를 사용하여 IE에서 수정했습니다. 그것은 Firefox에서 잘 작동합니다.
나는 꽤 꼼짝 못하고 머리가 빠져 나가기 때문에 어떤 아이디어라도 환영합니다. 고마워.
전체 오류 메시지 : "액세스 토큰 유효성 검사 오류 : www.facebook.com에 로그인하고 주어진 지시 사항을 수행 할 때까지 앱에 액세스 할 수 없습니다."
일부 코드는 아래와 같습니다.
$this->_facebook = new Facebook(
array(
'appId' => $this->_config['appId'],
'secret' => $this->_config['secret'],
'cookie' => true,
'fileUpload' => true
)
);
$this->_signedRequest = $this->_facebook->getSignedRequest();
// Doing something with signed request, not FB related
$this->_userId = $this->_facebook->getUser();
if($this->_userId) {
try{
// At this line the "Error validating access token" error shows up
$this->_user = $this->_facebook->api('/me');
// Some more irrelevant code here
} catch (Exception $e){
$this->_facebook->destroySession();
$this->_facebookLogin(false);
}
} else {
$this->_facebook->destroySession();
$this->_facebookLogin(false);
}
// The _facebookLogin method
public function _facebookLogin($perms = 'email,user_birthday,publish_stream,video_upload'){
$data = array(
'fbconnect' => 0,
'redirect_uri' => 'aredirecturl.com'
);
if(!empty($perms)) {
$data['scope'] = $perms;
}
echo '<script type="text/javascript">window.top.location.href = "'.$this->_facebook->getLoginUrl($data).'";</script>';
exit;
}
전체 코드를 넣을 수 있습니까 (예 :이 공용 함수 _facebookLogin은 잘못된 것입니다. –
). @ 카자 쿠 블라드는 해결책을 찾은 경우 감사합니다. –