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
Figura 2. Dialogul principal pentru setările aplicațiilor pentru Facebook
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
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ă
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
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