- 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.
1. <div id="fb-root"></div> 2. <script src="http://connect.facebook.net/pl_PL/all.js"></script> 3. <script> 4. FB.init({ 5. appId : '123456789012345', 6. status : true, 7. cookie : true, 8. xfbml : true 9. }); 10. </script>
- SDK można wywołać asynchronicznie, ale żeby nie zaciemniać obrazu nie będziemy tego robić. Wyjaśniono to w sekcji "Loading the SDK Asynchronously" dokumentacji (http://developers.fa...ascript/FB.init)
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!
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.fa...on/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}<button id="fb-login">Zaloguj się do mojej aplikacji!</button>{/html}
W sekcji logicznej umieszczamy skrypt wykorzystujący SDK do wywołania okna logowania.
{html}<button id="fb-login">Zaloguj się do mojej aplikacji!</button>{/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.
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}<button id="send-to-many">Send to Many</button>{/html}
W rzeczywistości powinien pojawić się on dopiero po zalogowaniu, ale znowu nie chcemy zaciemniać kodu. Do skryptu dodajemy natomiast kod:
1. document.getElementById('send-to-many').onclick = function() { 2. FB.ui({ 3. method: 'apprequests', 4. message: 'Hello, Facebook JavaScript SDK!', 5. }); 6. } 7. };
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.fa...erence/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.
Cała gotowa aplikacja:
1. <html> 2. <head> 3. <meta charset="UTF-8" /> 4. </head> 5. <body> 6. <div id="fb-root"> 7. <button id="fb-login">Zaloguj się do mojej aplikacji!</button> 8. <button id="send-to-many">Wyślij do wielu</button> 9. </div> 10. <script src="http://connect.facebook.net/pl_PL/all.js"></script> 11. <script> 12. FB.init({ 13. appId : '123456789012345', 14. status : true, 15. cookie : true, 16. xfbml : true 17. }); 18. 19. document.getElementById('fb-login').onclick = function() { 20. FB.login(function(response) {}); 21. 22. document.getElementById('send-to-many').onclick = function() { 23. FB.ui({ 24. method: 'apprequests', 25. message: 'Hello, Facebook JavaScript SDK!', 26. }); 27. } 28. }; 29. </script> 30. </body> 31. </html>
Naszą aplikację możemy rozszerzyć wykorzystując między innymi następujące metody:
- FB.api - daje dostęp do Graph API i pozwala korzystać z informacji o połączeniach między użytkownikami i innymi obiektami (np. stronami czy aplikacjami). Więcej o Graph API: Graph API - Programiści Facebooka
- FB.Data.query - wykonuje zapytanie FQL i zwraca obiekt, który można wykorzystać do asynchronicznej wymiany danych. FB.Data.query - Programiści Facebooka
- FB.XFBML.parse - parsuje i renderuje zawartość kodu opisaną językiem XFBML. Więcej: FB.XFBML.parse - Programiści Facebooka
Autor Marcin Kosedowski