2011-04-26 4 views
0

페이스 북을 사용하여 내 웹 사이트의 로그인을 관리하고 있습니다. 또한 PHP API를 사용하여 그래프 API를 호출하여 친구 목록, 댓글, 게시물 등을 검색합니다.내 사이트가 Facebook에 표시되는 것을 어떻게 중지시킬 수 있습니까?

문제는 내가 사이트를 독립형으로 설정하여 사용자가 Facebook의 링크를 따르도록하려는 것입니다. 그런 다음 사이트로 이동합니다.

일종의 작동하지만 사용자가 링크를 따라 가면 Facebook 캔버스 영역에 내 사이트의 색인 페이지가 표시되는 경우가 있습니다. 나는 이것을 완벽하게 재현하지 못했기 때문에 그것이 일어난 상황을 정한 것은 아닙니다. 그러나 브라우저에서 '뒤로'를 클릭하면 내 사이트로 되돌아옵니다.

링크가 페이스 북에서 내 사이트로 이동하는 것처럼 보입니다. 페이스 북에서 사용자가 로그인했는지 확인하기 위해 페이스 북을 호출하지만 어떤 이유로 내 사이트로 돌아 가지 않습니다. 하지만 내가 말했듯이, 나는 확실하지 않다.

어쨌든 누구든지 문제가 무엇인지 알 수 있습니까?

내 로그인 코드는 다음과 같습니다 => 0, 'fbconnect'=> 0, 'req_perms'= $의 PARAMS = 배열 ​​('캔버스'

// Create new Facebook object 
$facebook = new Facebook(array(
    'appId' => APP_ID, 
    'secret' => APP_SECRET, 
    'cookie' => true, // enable optional cookie support 
)); 

// Create login url, in case user is not logged in or session has expired 
$loginUrl = $facebook->getLoginUrl($params = array('canvas' => 0, 'fbconnect' => 0, 'req_perms' => 'publish_stream', 'cancel_url' => 'http://www.pubfish.com')); 

// Get current facebook session 
$session = $facebook->getSession(); 
$me = null; 

// Session based API call. 
if ($session) { // If session exists, make sure it's still valid 
try { // Get session to see whether it's valid 
    // User is logged in and has authorised application already 
    $uid = $facebook->getUser(); 
    $me = $facebook->api('/me'); 
} catch (FacebookApiException $e) { 
    echo "<script type='text/javascript'>top.location.href = '".$loginUrl."';</script>"; 
    error_log($e); 
} 
}else { // No session - so ask user to log in 
$url=$facebook->getLoginUrl(array('canvas' => 1,'fbconnect' => 0)); 
echo ('<script type="text/javascript">top.location.href=\''.$url.'\';</script>'); 
} 

답변

1

는이 같은 '다음'설정을 시도 되세요 > 'publish_stream', 'cancel_url'=> 'http://www.pubfish.com', 'next'=> 'http://www.pubfish.com')? 다른 모든 방법이 실패 할 경우 캔버스 iframe에서 벗어날 수 있습니다.

<script> 
$(document).ready (function() { 
if (window != top) top.location.href = location.href; 
}); 
</script> 
+0

감사합니다. – Sharon