2011-04-30 4 views
0

페이스 북 캔버스 애플리케이션을 개발 중이 었는데이 간단한 코드가 실패했다. 내가 튜토리얼에서 똑바로 갔다 때문에, 무엇이 잘못되었는지 모르겠어요페이스 북 PHP SDK getLoginUrl failed - strange

<?php 

require 'facebook.php'; 

/* 
Facebook::$CURL_OPTS[CURLOPT_SSL_VERIFYPEER] = false; 
Facebook::$CURL_OPTS[CURLOPT_SSL_VERIFYHOST] = 2; 
*/ 

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


//Request params 
if(!($facebook->getSession())) 
{ 
     header("Location:" . $facebook->getLoginUrl(array('req_perms' => 'publish_stream'))); 
     exit; 
} 

?> 

문제는 header("Location:" . $facebook->getLoginUrl(array('req_perms' => 'publish_stream')));이다. 출구를 제거하는 것을 포함하여 그것을 제거 할 때, 응용 프로그램은 잘 돌아갈 수 있습니다. 그러나, 내가 그것을 가지고, 응용 프로그램은 아무것도 표시하지 않습니다. 그냥 빈 페이지. 그리고 chrome의 개발자 도구에는 "channel.facebook.com의 리소스 오류로드"가 있습니다.

아무 때 나 잘못 판단하는 데 도움이 될 수 있습니까? 나는이 코드에서 무엇이 잘못되었는지 이해하지 못한다. 나는 appId와 비밀이 맞는지 확인했다.

답변

0

이 당신을 도울 수 있습니다 channel.facebook.com에서

로드 리소스 오류 문제에 무관하다, 나는 페이스 북 페이지에 시간의 오류를 많이 본 것, 그것은 그들의 문제입니다.

PHP 오류가있어서 빈 화면이 표시되고 error_reporting이 0으로 설정되었을 가능성이 큽니다. error_reporting (E_ALL)을 시도하여 문제가 있는지 확인하십시오.

이 코드의 위치는 다른 텍스트 출력보다 앞서 보내는 헤더입니까? 코드를 페이지 상단에 놓으십시오.

이러한 것들은 사용자가 확인할 수있는 기본적인 것들입니다. 도움이되기를 바랍니다. 행운을 빕니다.

0

Facebook PHP SDKgetLoginUrl 기능으로 생성 된 로그인 URL로 리디렉션하려고 할 때 (빈 페이지) 동일한 문제가있었습니다 (서버 측에서 PHP로).

문제는 리디렉션이 iFrame에 있다는 사실과 관련이있는 것으로 보입니다. 리디렉션은 부모 프레임의 것이어야하며 캔바스 프레임이 아니어야합니다.

는 PHP에서

당신이 자바 스크립트에서 그것을해야 한혜진 상위 프레임을 리디렉션하는 브라우저를 알 수있는 방법이 없습니다 :

$loginUrl = $facebook->getLoginUrl(array('req_perms' => 'publish_stream')); 

echo '<script type="text/javascript">top.window.location="'.$loginUrl.'";</script>'; 
관련 문제