Chcesz stworzyć aplikację na Facebooka? Koniecznie zapoznaj się z JavaScript SDK i stwórz pierwszą aplikację w kilkanaście minut.
JavaScript SDK to zalecany przez Facebooka sposób pozwalający uzyskać dostęp do wszystkich możliwości Graph API. Jeśli skorzystamy z SDK, bez problemu stworzymy pierwszą aplikację. Facebook udostępnia ponadto narzędzia takie jak menadżer aplikacji albo konsola testowa do debugowania kodu ({link}http://developers.facebook.com/tools{/lnk}). Samo SDK jest udostępnione na zasadach open source (http://github.com/facebook/connect-js).
Tworzymy szkielet aplikacji
„Aplikacja Facebooka” to dość szumnie nazywane określenie strony internetowej, która wykorzystuje API Facebooka. Mimo górnolotnego określenia, będziemy się go trzymali, gdyż tak się przyjęło.
Podstawowa aplikacja składa się z trzech części: obiektu div o ID „fb-root”, zewnętrznego obiektu script linkującego bibliotekę oraz drugiego obiektu script z metodą inicującą FB.init() i resztą kodu. Facebook zaleca umieścić kod tuż przed tagiem {html}
appId – identyfiaktor aplikacji, który odczytamy w ustawieniach aplikacji
status – sprawdza status logowania
cookie – daje serwerowi dostęp do informacji o sesji przez ciasteczka
xfbml – parsuje język XFBML
Wszystkie parametry są opcjonalne, a typowy kod ma postać taką jak poniżej. Pozwala użytkownikowi połączyć się z aplikacją za pomocą konta Facebooka. Jeśli chcemy zmienić język elementów, które wywołamy z biblioteki (np. okien dialogowych), należy zmienić ustawienia języka w adresie. Dla angielskiego będzie to en_US.
Podstawowa aplikacja, uruchomiona w debuggerze (który oczywiście sam jest aplikacją FB) powinna wyglądać podobnie jak na zrzucie ekranu poniżej. Uruchamiamy ją kiedy zapiszemy kod i klikniemy „Run Code”. Przyciski znajdujące się na górze pozwalają zalogować i wylogować się z aplikacji debuggera, nie naszej!
Logowanie do aplikacji przez konto FB
JavaScript SDK umożliwia łatwe tworzenie okien dialogowych Facebooka. Aby użytkownik mógł zalogować się do naszej aplikacji, musimy skorzystać z metody FB.login(). Metoda ma dwa parametry: obowiązkową funkcję wywoływaną po udanym logowaniu i opcjonalny obiekt zawierający oddzielone przecinkiem opcje modyfikujące zachowanie okna logowania, które np. proszą o udostępnienie danych osobowych użytkownika. My ograniczymy się do podstawowego okna. Dodatkowe parametry opisano w dokumentacji (http://developers.facebook.com/docs/authentication/permissions).
Jako że przeglądarki zwykle blokują wyskakujące automatycznie okna, okno logowania powinno aktywować się po kliknięciu w przycisk. W obiekcie div odpowiadającym za interfejs aplikacji powinniśmy więc umieścić przycisk:
{html}{/html}
W sekcji logicznej umieszczamy skrypt wykorzystujący SDK do wywołania okna logowania.
{html}{/html}
Skrypt wyszukuje w dokumencie elementu o ID „fb-login” i dodaje akcję wyzwalaną kiedy klikniemy na znaleziony element. Metoda FB.login() wywoływana jest z jednym parametrem, funkcją response, która od razu zostaje zadeklarowana. Między klamerkami powinniśmy umieścić kod funkcji, na przykład zapisanie logu.
Hello, Facebook JavaScript SDK!
Nasza aplikacja jest już tak dobra, że możemy pokazać ją światu. Wykorzystamy do tego metodę FB.ui(), która wywoła okno dialogowe Send to Many. Służy ono do wysyłania zaproszeń do aplikacji znajomym. Kiedy użytkownik kliknie w kolejny przycisk pojawi się okno do zapraszania znajomych.
Dodajemy więc kolejny przycisk do interfejsu aplikacji:
{html}{/html}
W rzeczywistości powinien pojawić się on dopiero po zalogowaniu, ale znowu nie chcemy zaciemniać kodu. Do skryptu dodajemy natomiast kod:
Tak jak poprzednio dodajemy nowemu przyciskowi akcję wywoływaną po kliknięciu. Mianowicie, wywołujemy metodę FB.ui() z jednym parametrem składającym się z tablicy asocjacyjnej. Wymagany klucz method opisuje nazwę okna dialogowego jakie ma zostać wywołane i przyjmuje wartość „apprequests”, która oznacza, że wywołamy okno wysyłania zaproszeń do znajomych. Inne okna dialogowe opisano w sekcji Dialogs dokumentacji (http://developers.facebook.com/docs/reference/dialogs/). Wartość klucza message odpowiada informacji, jaką użytkownik wysyłający zaproszenia zobaczy w oknie dialogowym. Odbiorca zaproszenia nie zobaczy tej wiadomości. Inne okna dialogowe przyjmują inne parametry.