2012-06-01 3 views
0

방금 ​​FB 앱을 만들고 싶었습니다. 나는 developers.facebook.com/apps에 가서 새 앱을 설정하고 내 서버에 새 폴더를 만들고 이전 (작업 중) 앱을 폴더에 복사하고 앱 ID, 비밀, 캔버스 페이지 및 캔버스 URL을 변경했다. 구성 파일 ... 그리고 그것은 작동하지 않았다.facebook app oauth 오류 (프레임에 표시 할 수 없음)

"이 내용을 프레임에 표시 할 수 없습니다"라는 오류 메시지가 표시됩니다.

나를 도와 주시면 감사하겠습니다. 감사.

나는 여기에 내 config 파일을 복사합니다 (I 의도적 여기에 앱 ID와 비밀을 제거했습니다.)

// Facebook App ID/API Key 
$appId = ''; 

// Facebook App Secret 
$secret = ''; 

// Facebook Canvas Page 
$redirect_uri = 'https://apps.facebook.com/appname/'; 

// Facebook Canvas URL 
$canvas_url = 'https://myhost.com/appname/'; 

// Facebook App Permissions 
$scope = 'email, publish_actions'; 

// Configure Facebook connection 

require 'facebook.php'; 

$facebook = new Facebook(array(
    'appId' => $appId, 
    'secret' => $secret, 
    'cookie' => true, 
)); 

$user = $facebook->getUser(); 

$loginUrl = $facebook->getLoginUrl(array(
    'redirect_uri' => $redirect_uri, 
    'scope' => $scope, 
)); 

$logoutUrl = $facebook->getLogoutUrl(); 

if ($user) { 
    try { 
    $user_profile = $facebook->api('/me'); 
    } catch (FacebookApiException $e) { 
    $user = null; 
    } 
} else { 
    header("Location: $loginUrl"); 
} 

답변

2

JavaScript를 사용하여 top.location = '{url}'을 사용하여 사용자를 로그인 URL로 리디렉션 한 다음 login redirect url을 사용하여 응용 프로그램에 다시 보내야합니다. Facebook에서는 iframe 내에서 페이스 북을 사용할 수 없으므로 오류 메시지가 표시되는 이유를 알 수 있습니다.

0

It displays a "this content can not be displayed in frame" errormessage.

그리고이 메시지에 대한 어떤 일이 당신에게 문제가 이해를 제공?

iframe에서 인증 대화 상자를 호출 할 수 없습니다. 사용자가 사이트 주소를 확인할 수없는 경우 피싱을 사용할 수 있기 때문입니다.

관련 문제