Aplicații Java pentru Facebook pe baza motorului de aplicații Google

Google App Engine (GAE) - un sistem de tip cloud „platforma ca serviciu“ (PaaS), ceea ce permite dezvoltatorilor înregistrați să execute aplicațiile lor scrise în Python, Java sau infrastructură Du-te pe Google. Acest articol arată cum să înregistrați o aplicație pentru Facebook, să o dezvoltați în Java și să o instalați gratuit pe platforma GAE în beneficiul tuturor utilizatorilor înregistrați pe Facebook. (Rețineți că Google impune o restricție privind utilizarea zilnică a resurselor consumate de aplicația instalată în GAE).

O aplicație simplă pe care o cream face o listă a tuturor prietenilor utilizatorului cu ID-urile și fotografiile din profil - ca și pe pagina de profil a userului Facebook a eșantionului vechi. Pentru a dezvolta o aplicație, aveți nevoie de:

Codul sursă pentru aplicație este conținut în descărcările pentru acest articol.

Aplicarea înregistrării

Primul pas este înregistrarea aplicației dvs. pe Facebook și în GAE. Este mai bine să creați simultan o aplicație pe ambele platforme, astfel încât informațiile pe care le introduceți să fie identice.

Înregistrarea unei aplicații pe Facebook

Faceți clic pe butonul Creați aplicația nouă în colțul din dreapta sus al paginii Aplicații pentru a deschide caseta de dialog Creare aplicație nouă, prezentată în Figura 1.

Figura 1. Creați un nou dialog de aplicație pe Facebook

Aplicații Java pentru Facebook bazate pe motorul de aplicații Google

Aplicații Java pentru Facebook pe baza motorului de aplicații Google

Figura 2. Dialogul principal pentru setările aplicațiilor pentru Facebook

Aplicații Java pentru Facebook pe baza motorului de aplicații Google

Aplicații Java pentru Facebook pe baza motorului de aplicații Google

Rețineți cheile de identificare a aplicației și de aplicație din partea de sus a ecranului (acestea sunt ascunse în Figura 2). Facebook folosește aceste chei pentru a identifica aplicația. Păstrați-le un secret și nu permiteți altor dezvoltatori să le folosească, astfel încât acestea să nu fie folosite cu rău fără știrea dvs.

Introduceți domeniul aplicației în câmpul Domenii de aplicare. Acesta trebuie să fie un domeniu GAE în care înregistrați aplicația pe site pentru dezvoltatorii GAE, deci ar trebui să se încheie cu .appspot.com. De exemplu, în figura 2, am introdus valoarea myoldfacebookfriends.appspot.com. Acest domeniu nu mai este disponibil, deci va trebui să utilizați altul. Trebuie să se potrivească cu ID-ul aplicației pe care îl utilizați la înregistrarea aplicației în GAE.

Înregistrarea unei aplicații în GAE

Când aplicația este înregistrată pe Facebook, trebuie să o înregistrați în GAE.

Figura 3. Caseta de dialog GAE Creați o aplicație

Aplicații Java pentru Facebook bazate pe motorul de aplicații Google

Aplicații Java pentru Facebook bazate pe motorul de aplicații Google

Faceți clic pe butonul Creare aplicație. pentru a finaliza procesul de înregistrare în GAE.

Dezvoltarea aplicațiilor

În Eclipse, creați un nou proiect GAE selectând File> New> Web Application Project sau făcând clic pe butonul New Web Application Project din meniul Services and Deployment Tools. Introduceți numele proiectului și numele pachetului. Debifați Folosiți Google Web Toolkit. Descărcați fișierul JAR RestFB (consultați resursele) și adăugați-l în folderul WEB-INF / lib al proiectului.

Adăugați definiția servletului pentru aplicație în fișierul de proiect web.xml. Definiția mea este afișată în listare 1.

Listarea 1. Definirea unui servlet

Rețineți că La fel ca și în URL-ul fundalului din fereastra de setări principale a aplicației pentru Facebook, dar fără semn de întrebare.

O cerere semnată pe Facebook

Listă 2 arată codul sursă pentru obiectul Java al cererii semnate. Pentru claritate, am omis toate metodele obținute și stabilite; acestea se află în codul sursă al descărcării (consultați secțiunea Descărcare).

2. Un obiect de cerere semnat
Listare 3. O metodă auxiliară pentru codarea și decodificarea conținutului unei interogări

Crearea unui servlet

Acum puteți începe să scrieți codul aplicației care va fi rulat în servlet. Creați o clasă nouă cu aceeași semnătură ca și definiția în fișierul web.xml. Mai întâi, trebuie să extrageți tokenul OAuth din conținutul interogării utilizând clasa SignedRequest. așa cum se arată în Lista 4.

4. Extragerea jetonului OAuth
API Graph Facebook

Pentru a obține o listă cu prietenii utilizatorului, faceți clic pe link-ul prietenilor. Rețineți că valoarea URL din browser arată astfel: id utilizator / prieteni. Parametrul de conectare la apelarea unei funcții are de obicei aceeași valoare ca în Graph Explorer. Dar, deoarece aplicația folosește datele utilizatorului conectat, ID-ul de utilizator poate fi schimbat cu mine. care îmi dă / prieteni. Apelul returnează un tip de conexiune nefolosit. și deoarece este o clasă de tip User. acesta trebuie adăugat ca parametru. Provocarea finală arată astfel:

Rezultatul chemării fetchConnection () este conținut în lista obiectelor List din clasa Connection. Clasa Connection implementează interfața Iterable. astfel încât fiecare obiect List din listă să poată fi obținut utilizând buclă extinsă:

După ce navigați în lista obiectelor utilizator. după cum este descris mai sus, vom compune un nou rând al acestui tabel folosind variabilele de instanță ale fiecărui obiect Utilizator:

În cele din urmă, pentru a închide servletul, închidem eticheta

și obiectul PrintWriter:

Forma finală a metodei doPost () a servletului este prezentată în Lista 7.

Listing 7. Metoda DoPost ()

Instalarea aplicației

concluzie

Acest articol prezintă modul de înregistrare, implementare și instalare a aplicației Facebook în limba Java găzduită de Google App Engine. Acum, că sunteți familiarizați cu elementele de bază, vă sugerez să experimentați diferite variații.

În loc de a scrie HTML-cod direct pe pagină, puteți recurge la o abordare mai tradițională "model de-view-controller" (MVC), folosind un standard de RequestDispatcher.forward () apel la pagini JavaServer Pages (JSP).

În cele din urmă, puteți încerca să recreați aplicația de probă, utilizând proiectul Google Code Facebook-java-api în loc de RestFB, o implementare alternativă a API-ului Facebook (a se vedea Resurse).

Descărcați resurse

Subiecte conexe

Articole similare