2011-08-01 15 views
6

Mam następujący kod:Facebook PHP 3.0.1 SDK API, getUser() zawsze == 0! Czemu?

$facebook = new Facebook(array(
    'appId' => '###', 
    'secret' => '###' 
)); 
$user = $facebook->getUser(); 

$ użytkownik jest zawsze 0, mój AppID i tajne są zarówno 100% poprawne. Co ja robię źle?

+0

Dodałem przykład do hosta wirtualnego mojego hosta lokalnego, dodano mój identyfikator aplikacji i tajny, i nadal. NIC! –

+0

Czy kiedykolwiek przekierowujesz użytkownika do getLoginURL()? Użytkownicy muszą autoryzować twoją aplikację, zanim uzyskasz identyfikator użytkownika. – squinlan

+0

Wygląda na to, że coś jest nie tak z moją konfiguracją Facebooka, zwłaszcza z polami, w których umieszczasz adres URL witryny i domenę. Wciąż badam. –

Odpowiedz

4

upewnij się, że masz jeśli warunek do sprawdzenia statusu użytkownika

$user=$facebook->getUser(); 
if($user) 
//someactions 
else 
{ 
// redirect the user to login and authorize your application, if necessary 
header('Location:'.$facebook->getLoginURL()); 
} 

Proszę sprawdzić przypadek funkcji. Mogę się mylić.

+0

Tak, oczywiście, ale nie ma sensu przechodzić do instrukcji if, jeśli getUser ZAWSZE zwraca 0. To jest jednak pomocne dzięki zamieszczaniu postów! –

+0

... Chodzi mi o to, że powinienem móc zalogować się na Facebooku, a następnie getUser() powinien odebrać, że jestem zalogowany z Facebookiem. –

+0

Niezupełnie. Jeśli twoja aplikacja nie ma dostępu do użytkownika (czy to ty, czy ktokolwiek inny), to getUser() nie powinien zwracać niczego poza 0. Po uwierzytelnieniu (forward to getLoginUrl) aplikacja ma dostęp i powinna zwrócić użytkownika. –

0

miałem ten sam problem raz ... I tylko udało się go rozwiązać poprzez korygowanie problem z moją sesją

+0

To nie odpowiada na pytanie. –

+2

GEEEEEEE TEN ODPOWIEDŹ NAPRAWDĘ POMAGA –

+0

@BeauGrantham Jak możesz powiedzieć, że to nie pomaga. Właśnie odkryłem, że Session FB-SDK stwarza problem, który został rozwiązany przez właściwe zarządzanie sesją w trakcie sesji. –

Powiązane problemy