Aplikacja Do Facebooka
tags: facebook polish wikidot
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?").
- Aby napisać aplikację Facebooka, trzeba mieć konto na Facebooku
- Trzeba się zapisać jako developer pod adresem: http://www.facebook.com/developers/
- 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:
- Użytkownik wchodzi na http://apps.facebook.com/moja-aplikacja/coś
- 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
- 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).
- Twój serwer może odpytywać serwer Facebooka o potrzebne szczegóły lub korzystać z własnych zasobów, aby serwować treść
- Treść serwowana jest w specjalnym dialekcie HTML-a: FBML.
- 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
- 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:
- Ustalić TOS URL w ustawieniach aplikacji
- 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 :).
Comments: 2, Rating: 0
Po Devcampie
tags: bash blog devcamp facebook opiwo polish
26 Oct 2008 15:59
Zdecydowałem, że mój blog musi być bardziej pozytywny.
Zatem, po pierwsze: iPhone rządzi, bo ma basha.
Po drugie: devcamp rządził :]. Chłopaki z www.socjum.pl też są spoko i zapraszają do Krakowa na imprezę, jaką długo spamiętamy.
Po trzecie: z pomocą Zająca odpaliłem na moim lapie Compiza w konfiguracji Dual Head na karcie graficznej Intela (a jak wszyscy wiedzą mam dwie karty graficzne, w moim kompie).
Niedługo będzie o pisaniu aplikacji do facebooka. A teraz sobie wymyślam jak powinien wyglądać serwis opiwo.com (czy raczej jak działać), żeby każdego chwycił za serce i spowodował efekt ŁAŁ.
Szczegóły wkrótce.
PS: Jeszcze chciałem przeprosić, że przynudzałem tak długo o tym JSON-RPC. Jak ktoś chętny: oto prezentacja.
Comments: 1, Rating: 0
Facebook, Barcamp i wojna plakatowa
tags: devcamp facebook plakat polish wikidot wydział
23 Oct 2008 22:18
Jak pisałem w notce Wikidot On Facebook, zamierzamy — jako Wikidot — poszerzyć nasz zakres działania i zaoferować coś zupełnie nowego dla użytkowników Facebooka — profilowe wiki, które będą mogli edytować tylko przyjaciele właściciela (chyba, że zdecyduje on inaczej).
Przy tworzeniu tej funkcjonalności — wg nomenklatury facebookowej jest to aplikacja — wyszło wiele, wiele różnych niedopracowań Facebooka, co sprawiło, że momentami w biurze była bardzo nerwowa atmosfera przesiąknięta brzydkimi słowami.
Aby ułatwić następnym pokoleniom to, co Facebook skutecznie utrudnia — postanowiłem, że podzielę się wszystkimi spostrzeżeniami i ujmę je w krótki kurs — jak zrobić aplikację do Facebooka — kurs oczywiście będzie dostępny jako notka na moim blogu.
Pewne utrudnienia w organizacji devcampa spotkały nas na tablicy ogłoszeń Wydziału Matematyki i Informatyki UMK.
Jestem w stanie zrozumieć — z racji małej przestrzeni — przesłanianie części plakatu devcampowego informacjami o mieszkaniach do wynajęcia, ofertach pracy itd.
Jednak przylepienie dwóch plakatów formatu A2 na taśmę samoprzylepną dwustronną na inne plakaty to już jest przegięcie.
Devcampowy plakat został obdarzony mocnospajającym kwadratowym (o boku ok 3 cm) kawałkiem taśmy dwustronnej, na której został powieszony jeden z dwóch plakatów toruńskiego pubu. Plakat zasłonił praktycznie wszystkie informacje o devcampie zostawiając jakiś jednocentymetrowy pasek widoczności u góry.
Zmuszony byłem urwać fragment plakatu zawierający owy plaster, tak, by móc powiesić nasz plakat na wierzchu. Niestety szpeci go mocno przyklejony oderwany kawałek plakatu pubu.
Wojna plakatowa zaczyna nabierać tempa.
Comments: 1, Rating: 0
Devcamp Już W Sobotę
tags: dev devcamp it polish toruń wikidot wikidot-blog
20 Oct 2008 21:14
Już w najbliższą sobotę 25 października odbędzie długo wyczekiwany i starannie przygotowywany (głównie przez Łukasza Tarkę Squark) devcamp — spotkanie środowiska IT w Toruniu.
Zapraszamy serdecznie! Przyjdź i podziel się swoim pomysłem lub po prostu posłuchaj co mają do powiedzenia inni.
UPDATE: wygląda na to, że poznański Barcamp i nasz devcamp będzie w tym samym czasie. Zapraszamy zatem wszystkich ciekawych nowości do Torunia ;).


