2010-06-08 3 views
9

내 작은 페이스 북 응용 프로그램에 약간의 문제가 있습니다. "Fatal error : 정의되지 않은 메소드 Facebook :: require_login()"으로 전화를 걸면 오류가 계속납니다. 이제 재미있는 비트는 제 똑같습니다. 코드는 다른 사람들을 위해 작동하지만 나에게는 해당되지 않습니다. 코드는 다음과 같습니다.Facebook 요구 사항이 작동하지 않습니다.

<?php 
require_once("facebook-php-sdk/src/facebook.php"); 
$api_key = "my_api_key"; 
$secret = "my_secret_key"; 

$facebook = new Facebook($api_key, $secret); 
$user_id = $facebook->require_login(); 

echo "Hello World"; 
echo "Current logged in as <fb:name uid=\"$user_id\" />"; 
?> 

당신이 간단한 인사 사용자 응용 프로그램입니다,하지만 어떤 이유로 미리, 고맙습니다이 나를 위해 일을 거부하는, 그래서 누군가가 도와 줄 수 있다면 그것은 좋은 것입니다 볼 수 있듯이!

+1

해당 방법이 정의되어 있는지 확인하려면 facebook.php 파일을 확인하십시오. 또한 최신 버전의 SDK를 사용하고 있습니까? – ircmaxell

+0

예, 확신하기 위해 지금 다시 다운로드했지만 여전히 작동하지 않습니다! – Odyss3us

답변

9

newest version of the PHP sdk을 사용하고 있습니까?

Facebook::require_login()은 이전 SDK의 메소드입니다.

새 SDK (그래프 API와 함께 게시 됨)는 이전 버전과 호환되지 않습니다.

로그인을 요구한다는 개념은 더 이상 존재하지 않습니다. 사용자 ID 만 얻으면됩니다.

$user_id = $facebook->getUser(); 
+0

이상한 일은, 나는 그것을 처음 시도했고, 나는 매우 비슷한 오류가 발생했습니다! 이제는 작동하는 것 같습니다. 오류가 더 이상 표시되지 않습니다. 여기에 "Hello World Current로 로그인 한 페이스 북 사용자"입니다. 이름이 인쇄되지 않고, 그의 사용자 아이디,하지만 나는 그것이 사용자 이름을 얻으려면 uid가 필요하기 때문에 이름을 보지 못하는 이유이기도합니다. – Odyss3us

0

이 기능을 사용해보십시오 : 당신은 당신이 그렇게 $firstName=$fbme['first_name'] 또는 $email=$fbme['email']처럼 파마에서 가져온 어떤 정보를 끌어 그 함수 사용 $의 fbme에 전화를 한 후에


function appInstance($fbconfig){ 
    try{ 
     include_once "facebook.php"; 
    } 
    catch(Exception $o){ 
     echo '<pre>'; 
     print_r($o); 
     echo '</pre>'; 
    } 
    $facebook = new Facebook(array(
     'appId' => $fbconfig['appid'], 
     'secret' => $fbconfig['secret'], 
     'cookie' => true, 
    )); 
    $session = $facebook->getSession(); 
    $fbme = null; 
    // Session based graph API call. 
    if ($session) { 
     try { 
     $uid = $facebook->getUser(); 
     $fbme = $facebook->api('/me'); 
     } catch (FacebookApiException $e) { 
      //d($e); //debug 
      'Facebook took too long to respond, try again in a few minutes.'; 
     } 
    } 
    return $uid; 
    return $fbme; 
    return $facebook; 
}//end appInstance() 

을 .

0

뻔뻔 스럽지만 아직 페이스 북에서 앱을 등록한 웹 도메인에 있습니까? xxxyy.com에 등록하면 해당 앱만 사용할 수 있습니다.

0

페이스 북으로 등록 된 도메인이 현재 작업하고있는 개발 사이트와 동일한 지 다시 한번 확인 했습니까? 아마 그렇 겠지만주의를 기울이지 않으면 그 중 하나가 당신을 잡을 것입니다. 마이그레이션시 처음으로 나를 알게되었습니다 :]

관련 문제