2011-10-21 2 views
0

저는 약간 혼란 스럽습니다. 기본 문제는 내 팬 페이지에서 파이어 폭스에서 잘 작동하는 앱의 아이콘을 클릭 할 때 발생하지만 IE에서는 "이 콘텐츠를 프레임에 표시 할 수 없습니다"라는 오류가 발생하고 크롬에서는 열리지 않습니다. 응용 프로그램 및 빈 간다. 이것은 시험 계정뿐만 아니라 응용 프로그램을 만든 페이스 북 프로필에서 나에게도 일어난 일이다. 이상한 것은 내 다른 페이스 북 계정에서 모든 브라우저에서 완벽하게 작동한다는 것입니다. 앱은 검색이나 최근 앱으로 직접 이동할 때도 작동합니다. 최근에 앱 이름과 보안 ID를 변경하고 내 페이지에 다시 연결했습니다. 앱 설정에서 내 탭 URL이 정확합니다. 캔버스 페이지 상단의 코드는 다음과 같습니다.Chrome에서 오류가 발생했습니다. 즉, 팬 페이지에서 Facebook 앱으로 리디렉션됩니다.

<?php  
$app_id = "181247898619054"; 
$app_secret = "xxxxxxxxxxxxxxxxxxxxxxxxxxx"; 
$my_url = "https://apps.facebook.com/wellnessq/"; 
session_register(); 
session_start(); 


if (!isset($_REQUEST["code"])) 
{ 
$_SESSION['state'] = md5(uniqid(rand(), TRUE)); //CSRF protection 
$dialog_url = "http://www.facebook.com/dialog/oauth?client_id=" 
    . $app_id . "&redirect_uri=" . urlencode($my_url) . "&scope=email&state=" 
    . $_SESSION['state']; 

echo("<script> top.location.href='" . $dialog_url . "'</script>"); 
exit; 
} 
$code = $_REQUEST['code']; 
{ 
    $token_url = "https://graph.facebook.com/oauth/access_token?" 
    . "client_id=" . $app_id . "&redirect_uri=" . urlencode($my_url) 
    . "&client_secret=" . $app_secret . "&code=" . $code; 

$response = file_get_contents($token_url); 
$params = null; 
    parse_str($response, $params); 

    $graph_url = "https://graph.facebook.com/me?access_token=" 
    . $params['access_token']; 

    $user = json_decode(file_get_contents($graph_url)); 
} 

?> 

아이디어가 있으십니까? 오류를 직접보고 싶으면 알려주고 어디에서 찾을 지 게시 할 것입니다. 감사.

+0

Chrome에서 스크립트 리디렉션을 원치 않는 경우 궁금한데,이를 하이재킹 시도와 혼동하여 삭제하거나 오류를 표시 할 수 있습니다. – Tim

+0

정말 이상한 부분은 내 페이스 북 계정 중 하나에서만 발생하며 다른 하나는 모든 브라우저에서 완벽하게 정상적으로 작동한다는 것입니다. 쿠키를 모두 삭제하고 다시 시도했지만 성공하지 못했습니다. – Trey

답변

0

링크로 리디렉션하기 위해 PHP 헤더를 사용할 수 있습니까?

header('Location: http://www.yoursite.com/new_page.html') ; 
+0

예, 작동하지 않았습니다. 페이 스북 홈페이지의 앱 목록에서 작동하기 때문에 이상 하긴하지만 팬 페이지에서 앱으로 이동하는시기는 허용되지 않습니다. 이 문제는 존재하지 않았습니다. – Trey