Aplikacja Do Facebooka

27 Oct 2008 23:23

Napisanie aplikacji Facebooka jest momentami proste ("kurcze, ale to proste") a momentami bardzo trudne ("cholera, dlaczego to jeszcze nie działa, o co biega?").

  1. Aby napisać aplikację Facebooka, trzeba mieć konto na Facebooku
  2. Trzeba się zapisać jako developer pod adresem: http://www.facebook.com/developers/
  3. Tam można stworzyć swoją pierwszą aplikację

Aby mieć aplikację, należy mieć własny serwer (lub kolegi) i przeznaczyć na aplikację pewną przestrzeń adresów, np. http://moj-server.com/aplikacja-facebooka/.

W Facebooku musimy wybrać Canvas URL, jest to adres w stylu: http://apps.facebook.com/moja-aplikacja/

Co ciekawe adresy http://apps.facebook.com/moja-aplikacja/COŚTAMDALEJ są automatycznie mapowane na http://moj-server.com/aplikacja-facebooka/COŚTAMDALEJ .

Facebook natomiast nie wyświetla dokładnie tego, co zaserwuje moj-server.com tylko jeszcze trochę obrabia wynik zapytania.

Schemat jest taki:

  1. Użytkownik wchodzi na http://apps.facebook.com/moja-aplikacja/coś
  2. Serwer Facebooka odpytuje http://moj-server.com/aplikacja-facebooka/coś przekazując zmienne HTTP POST zawierające dane autoryzujące użytkownika, listę jego znajomych i inne rzeczy
  3. Twój serwer może zweryfikować dane autoryzujące użytkownika łącząc się przez Facebook API z serwerem Facebooka. W kazdym połączeniu musi używać specjalnego klucza API (do pobrania ze strony Twoich aplikacji Facebooka).
  4. Twój serwer może odpytywać serwer Facebooka o potrzebne szczegóły lub korzystać z własnych zasobów, aby serwować treść
  5. Treść serwowana jest w specjalnym dialekcie HTML-a: FBML.
  6. Serwer Facebooka odbiera wygenerowany przez Twój serwer FBML, zamienia go na HTML (np. wstawiając imię osoby o facebookowym id 19394 zamiast <fb:name id="19394"/>) i wstawia go do swojego szablonu, np. do taba w profilu użytkownika, bądź tzn. canvasu — gdy aplikacja jest wołana z http://apps.facebook.com/moja-aplikacja
  7. Serwer Facebooka przesyła wygenerowany HTML (i Javascript) do przeglądarki.

Gdy jesteś na adresie http://apps.facebook.com/moja-aplikacja tuż nad paskiem stanu przeglądarki (czyli na dole) obok menu Applications i miniaturek kilku aplikacji, powinna pojawić się ikona Twojej aplikacji (jeśli ją ustawiłeś w ustawieniach) wraz z napisem Bookmark.

Kliknięcie tego napisu spowoduje dodanie aplikacji do zakładek i dodanie jej ikony obok istniejących. UWAGA: jakaś aplikacja może zniknąć z zakładek, gdyż na Facebooku można mieć tylko 5 ulubionych aplikacji. Aplikacja powinna być jednak dalej wyświetlana w menu Applications.

Jeśli ustawiłeś w ustawieniach aplikacji, że aplikacja zapewnia taba, to użytkownicy aplikacji bo zabookmarkowaniu aplikacji, będą mogli wejść w jej ustawienia (Applications > Edit > Bookmarks > Twoja aplikacja) i dodać sobie taba do swojej profilowej strony.

UWAGA: aby zadziałało dodanie taba, użytkownik musi autoryzować Twoją aplikację. Można to zrobić tak:

  1. Ustalić TOS URL w ustawieniach aplikacji
  2. w generowanym przez http://apps.facebook.com/moja-aplikacja/ FBML-u możesz zwrócić link
<a href="coś" requiredLogin="true">musisz mnie autoryzować</a>

Po kliknięciu na link, użytkownik zostanie zapytany o to, czy autoryzować aplikację. Po zautoryzowaniu aplikacji, dodanie taba będzie miało swój przewidywany skutek (w przeciwnym wypadku tab jest niby dodany ale nigdzie się nie wyświetla).

Podstawą do napisania aplikacji, jest zrozumienie architektury tego rozwiązania. Na stronach Facebooka Twój serwer jest nazywany klientem i nie powinno Cię to mylić. Pomimo, że to serwer Facebooka odpytuje Twój serwer — czyli ma ewidentną rolę klienta, dokumentacja upiera się, że jest to serwer. Należy o tym pamiętać.

Pozdrawiam i życzę miłego facebookowania :).

Previous post: Po Devcampie

Next post: Knight Rider Mania


More posts on this topic

Comments

Add a New Comment
or Sign in as Wikidot user
(will not be published)
- +
Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License