2010-06-08 15 views
9

Mam problem z moją małą aplikacją na facebooku, ciągle otrzymuję ten friggin error "Błąd krytyczny: Wezwanie do niezdefiniowanej metody Facebook :: require_login()", teraz zabawne jest to, że mój dokładnie taki sam Kod działa dla innych ludzi, ale nie dla mnie, oto kod.Facebook require_login nie działa

<?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\" />"; 
?> 

Jak widać jest to prosty cześć Aplikacja użytkownika, ale z jakiegoś powodu nie chce pracować dla mnie, więc jeśli ktoś może pomóc, że byłoby świetnie, thanx z góry!

+1

Sprawdź plik facebook.php, aby zobaczyć, czy ta metoda jest zdefiniowana. Czy na pewno używasz najnowszej wersji pakietu SDK? – ircmaxell

+0

Tak, jestem pewien, ściągnąłem go ponownie teraz, aby się upewnić, ale nadal nie będzie działać! – Odyss3us

Odpowiedz

9

Czy używasz newest version of the PHP sdk?

Facebook::require_login() to metoda ze starego SDK.

Nowy pakiet SDK (opublikowany w połączeniu z interfejsem Graph API) nie jest kompatybilny wstecznie.

Pojęcie wymaganego logowania już nie istnieje - wystarczy uzyskać identyfikator użytkownika jako taki.

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

Dziwne jest to, że próbowałem tego pierwszy, i dostałem bardzo podobny błąd! Teraz wygląda na to, że działa, nie dostaję już błędu, oto, co widzę, "Witaj świecie Aktualny zalogowany jako użytkownik Facebooka", to nie jest drukowanie nazwiska osoby, ja też próbuję uzyskać jego identyfikator użytkownika, ale zakładam, że jest to również powód, dla którego nie widzę nazwy, ponieważ wymaga podania nazwy użytkownika. – Odyss3us

0

Wypróbuj tę funkcję:


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() 

po dokonaniu połączenia z tym stosowanie funkcji $ fbme wyciągnąć cokolwiek informacje otrzymany od trwałej ondulacji jak tak $firstName=$fbme['first_name'] lub $email=$fbme['email'] .

0

rażąca odpowiedź, ale czy jesteś w domenie internetowej, w której zarejestrowałeś swoją aplikację na Facebooku. jeśli zarejestrowałeś xxxyy.com, możesz używać swojej aplikacji tylko tam.

0

Czy może dwukrotnie sprawdziłeś, czy twoja domena zarejestrowana na Facebooku jest taka sama, jak witryna, nad którą pracujesz? Prawdopodobnie tak, ale ten cię dopadnie, jeśli nie zwrócisz na to uwagi. Mam za pierwszym razem podczas migracji:]

Powiązane problemy