Jakież było moje zdziwienie kiedy odkryłem, iż zintegrowane z Facebookiem logowanie na stronie http://nadnie.pl nagle przestało działać. Winowajcą zamieszania okazało się być zupełnie nowe PHP-SDK jakie wypuścił Facebook, a konkretnie metoda getSession(), która zupełnie zniknęła. Po ściągnięciu jego najnowszej (v.3.1.1) wersji (składającej się teraz z 2 plików), wszystko stało się jasne. Obecnie już sama inicjalizacja obiektu Facebook tworzy automatycznie nową sesję:
$facebook = new Facebook(array( 'appId' => '123444666777788899', 'secret' => '73eab78442aeeb78324bababe34', ));
W celu uzyskania ID użytkownika należy wywołać nową metodę getUser():
if( $fbUser = $facebook->getUser() ){
try{
$fbProfile = $facebook->api('/me');
}catch (FacebookApiException $e) {
$fbuser = null;
$fbProfile = null;
....
}
Jeżeli zwrócone ID jest równe zero, będzie to oznaczać, że użytkownik nie jest zalogowany na Facebooku.