Aplicatii Facebook - Adrian Balcan - Www.isfree.org

17
În acest moment facebook este una dintre cele mai răspândite rețele sociale din lume. În mai 2007 facebook a lansat o platformă care interacționează cu celelalte pagini web. În același sens s-au lansat și numeroase prin care utilizatorii pot trimite diferite mesaje celorlalți utili- zatori. În câteva luni de la lan- sarea platformei facebook a fost inițiată și o aplicație contra spa- murilor. În iulie 2009 se pare că numărul utilizatorilor a atins cir- ca 250 milioane de persoane. Aplicații facebook Adrian Balcan V 1.1 2010

Transcript of Aplicatii Facebook - Adrian Balcan - Www.isfree.org

Page 1: Aplicatii Facebook - Adrian Balcan - Www.isfree.org

Icircn acest moment facebook este una dintre cele mai răspacircndite rețele sociale din lume Icircn mai 2007 facebook a lansat o platformă care interacționează cu celelalte pagini web Icircn același sens s-au lansat și numeroase

prin care utilizatorii pot trimite diferite mesaje celorlalți utili-zatori Icircn cacircteva luni de la lan-sarea platformei facebook a fost inițiată și o aplicație contra spa-murilor Icircn iulie 2009 se pare că numărul utilizatorilor a atins cir-ca 250 milioane de persoane

Aplicații facebookAdrian Balcan

V 11

2010

2

Cuvinte din partea autorului

Icircn primul racircnd vreau să vă mulţumesc că sunteţi interesăt de această lucrare şi vă urez mult succes icircn icircnvăţarea şi dezvoltarea de aplicaţii

Ca orice alt material scris acest tutorial poate conţine erori Pentru icircmbunatăţirea lui vă rog frumos să trimiteţi un E-mail la balcanadriangmailcom cu orice eroare

descoperită său cu ce aţi vrea să mai adaug

Data ultimei modificări 11 September 2010 914 PM

3

Introducere

Icircn ultimii ani reţeaua socială facebook a avut o dezvoltare foarte rapidă ajungacircnd icircn 2009 la 250 milioane de utilizatori Icircn 2007 facebook a lansat o platformă ce permite integrearea aplicaţiilor sociale Aceasta avacircnd un mare succes şi cunoscacircnd icircn 2010 un număr de 8 milioane de dezvoltatori

Această lucrare icircşi propune să ofere cunostinţele de baza pentru dezvoltarea de aplicaţii facebook

Pentru a icircnţelege şi a putea aplica cunoştinţele dobandite icircn urma parcurgerii acestui tutorial sunt necesare cunoştinte minime de PHP şi HTML

4

Capitolul 1Anatomia aplicaţiilor facebook

Icircn acest capitol vom prezenta modul de funcţionare şi structura unei aplicaţii

Icircn continuare vom numii dezvoltator persoana care creează aplicaţia iar utilizatori persoanele care folosesc aplicaţia

Pentru a da posibilitatea creări de aplicaţii sociale facebook dispune de un API prin care aplicaţiile comunică cu facebook

API = Application Programming Interface

Facebook deţine mai multe API-uri icircn acest tutorial vom folosi Graph API (documentaţie la urmatorul link httpdevelopersfacebookcomdocsapi )

Relația facebook - aplicație

Pentru a icircnţelege anatomia unei aplicaţii de facebook este important să ştim cum lucrează platforma socială facebook cu aplicaţiile Icircn schema de mai jos este reprezen-tat modul de lucru

Cererea

Aplicaţiile facebook sunt stocate pe host-ul dezvoltatorului Cacircnd un utilizator icircncarcă o aplicaţie este trimisă o cerere către facebook(1) iar acesta trimite mai departe o cerere către host-ul aplicaţiei(2)

5

Răspunsul

Icircnainte de a trimite răspunsul aplicaţia comunică prin intermediul API-ului cu facebook pentru a lua date despre utilizatorServerul de hosting trimite răspunsul către serverul facebook(3) iar acesta trimite un răspuns HTML pe care browserul utilizatorului icircl interpretează(4)

Etape icircn rularea unei aplicaţii

Icircn timpul rulării o aplicaţie trece prin mai multe etape detaliate icircn următoarele racircnduri

Procesul de loginIcircnainte ca un utilizatorul să poată folosii o aplicaţie de facebook acesta trebuie să fie logat icircn aceasta aplicaţie(aplicația să cunoască identitatea utilizatorului)

Acordarea de permisiuniLa primul login icircn aplicaţie facebook va cere utilizatorului permisiuni ca aplicaţia să poată face anumite acţiuni pe profilul său

6

Cererea datelorAplicaţiile au nevoie de informaţii de la utilizator pentru a genera conţinut Acestea sunt transferate de la facebook printr-un sistem de cerere - răspuns implementat icircn API

Dacă ne imaginam acest proces ca un dialog icircntre două persoane acesta ar arăta cam aşa

Utilizator Care este numele meuFacebook Adrian

Utilizator Care sunt prietenii meiFacebook Ana Ion Andrei

Utilizator Ce vacircrstă are IonFacebook 26

PublicareaDe multe ori aplicaţiile de facebook au nevoie să publice conţinut pe pereţii utilizatoru-lui Practic această publicare are două roluri 1 Afisarea unui rezultat trimiterea unui mesaj public 2 Autopromovarea Mesajul publicat conţine numele şi link-ul aplicaţiei astfel icircncacirct noi utilizatori pot accesa aplicaţia

7

Structura aplicației

Structura generală a unei aplicații este compusă din urmatoarele componente

1 Sistem de login (loginphp icircn cadrul exemplului de mai tacircrziu)2 Pagina principală pagina care o va vedea utilizatorul (indexphp)3 Sistem de publicare reprezentat printr-un fișier icircncărcat cu AJAX (ajaxphp)4 APIul facebook (facebookphp fişier descărcat de la adresa httpgithubcomfacebookphp-sdk )

Aceste fişiere vor fi prezentate mai pe larg icircn capitolul 3

8

Capitolul 2Icircnregistrarea aplicaţiilor

Icircn acest capitol vom vedea cum se icircnregistrează o aplicaţie pentru a apărea pe facebook

Mai icircnainte am introdus notiunea de dezvoltator persoana care creează aplicaţiilePentru a putea creea aplicaţii de facebook este necesară icircnscrierea icircn grupul dezvol-tatorilor Se poate face de la urmatorul link şi nu costă nimic httpwwwfacebookcomdevelopers

Pentru a creea o aplicaţie este necesara icircnregistrarea acesteia icircn aplicaţia developer icircn care intram odata cu icircnscrierea icircn grupul dezvoltatorilor

Această icircnregistrare este prezentată prin 3 paşi icircn urmatoarele pagini

Pasul 1 Alegerea numelui aplicaţiei

9

Pasul 2 Alegerea tipului aplicaţieiPe facebook aplicaţiile sunt de doua tipuri IFrame şi FBML Aplicaţiile IFrame generează un cod HTML care este afișat icircn interiorul unei pagini de facebook pe cacircnd aplicaţiile FBML generează un cod FBML (Limbaj de marcare icircn format XML specific facebook)

Icircn acest tutorial vom vorbi despre aplicaţii IFrame deoarece acest tip oferă mai multă flexibilitate dezvoltatorului

Pasul 3 Introducerea adresei de hostingIcircn primul capitol am spus că aplicaţiile de facebook sunt găzduite pe un server de host-ing al dezvoltatorului Adresa la care ele se găsesc va fi introdusă ca şi Canvas URL iar facebook va sti de unde să icircncarce aplicaţia

Pe langă aceşti paşi principali dezvoltatorul mai poate adauga logo descriere şi alte proprietăţi aplicaţiei

Odata cu inregistrarea aplicaţiei aceasta primeşte şi o pagină de profil unde se pot icircnscrie fanii iar dezvoltatorii pot adauga mesaje pentru ei

10

Capitolul 3Hello world

Icircn acest capitol vom face prima aplicaţie de facebook o aplicaţie simplă care are ca scop publicarea de mesaje pe pereții prietenilor

Facebook are un SDK pentru PHP pe care icircl vom utiliza la apelarea funcțiilor din API Este inclus icircn primul racircnd cu numele de facebookphp și poate fi descărcat de la adresa httpgithubcomfacebookphp-sdk

SDK = Software Development Kit

Pentru icircnceput vom prezenta fișierul loginphp

ltphprequire lsquofacebookphprsquo

adresa unde este stocata aplicatia serverul de hosting$baseurl = lsquohttpsiteulmeucomadriantestapplicationrsquo

adresa aplicației de pe facebook unde utilizatorii vor accesa aplicația$appurl = lsquohttpappsfacebookcomoricenumersquo

datele de identificare ale aplicației care au fost primite la icircnregistrarea acesteia$config = array( lsquoappIdrsquo =gt lsquo148314685203334rsquo lsquosecretrsquo =gt lsquo98c8930a6af3c8304401c550ee7b1cabrsquo lsquocookiersquo =gt true) $facebook = new Facebook($config)

$session = $facebook-gtgetSession()

logarea + cererea de permisiuni$loginUrl = $facebook-gtgetLoginUrl( array( lsquocanvasrsquo =gt 1 lsquofbconnectrsquo =gt 0 lsquoreq_permsrsquo =gt lsquoemailpublish_streamstatus_updateuser_birthdayuser_locationuser_work_historyrsquo ))

11

$me = null Session based API callif ($session) try $uid = $facebook-gtgetUser() $me = $facebook-gtapi(lsquomersquo) catch (FacebookApiException $e) error_log($e 3 lsquoerrorslogrsquo) echo lsquoltscript type=rdquotextjavascriptrdquogttoplocationhref = rsquorsquo$loginUrlrsquorsquoltscriptgtrsquo exit else echo lsquoltscript type=rdquotextjavascriptrdquogttoplocationhref = rsquorsquo$loginUrlrsquorsquoltscriptgtrsquo exitgt

După cum ați observat icircn fișierul loginphp am introdus și datele de identificare ale aplicației care le-am primit la icircnregistrarea acesteia

12

Icircn continuare vom prezenta fișierul indexphp Acest fișier este cel al carui conținut generează ceea ce vede utilizatorul interfaţa Pentru utilizator este foarte important ca interfaţa să fie simplă şi cacirct mai intuitivă Pentru a avea o aplicație mai dinamică vom utiliza AJAX și puțin JavaScript

ltphpinclude_once(lsquologinphprsquo) try construieste cerere pentru baza de date facebook pentru mai multe detalii cititi documentatia FQL $fql = lsquoSELECT name sex pic_square uid FROM user WHERE uid IN (SELECT uid2 FROM friend WHERE uid1=rsquo $uid lsquo LIMIT 10) LIMIT 10rsquo $param = array( lsquomethodrsquo =gt lsquofqlqueryrsquo lsquoqueryrsquo =gt $fql lsquocallbackrsquo =gt lsquorsquo ) dupa acest rand $fqlResult va contine o lista cu 10 prieteni $fqlResult = $facebook-gtapi($param) foreach($fqlResult as $number =gt $friend) $friends = $numberrsquo ltimg src=rdquorsquo$friend[lsquopic_squarersquo]rsquordquogt lsquo$friend[lsquonamersquo]rsquoltbrgtrsquo alege un prieten aleator $friendNumber = rand(0 count($fqlResult)) pune imaginea si numele prietenului in variabila $str $str = lsquoUn prieten aleator ltimg src=rdquorsquo$fqlResult[$friendNumber][lsquopic_squarersquo]rsquordquogt lsquo$fqlResult[$friendNumber][lsquonamersquo]

catch(Exception $e) echo lsquoException lsquo$e

gt

13

lthtmlgtltheadgtltscript type=rdquotextjavascriptrdquo src=rdquohttpajaxgoogleapiscomajaxlibsjquery14jqueryminjsrdquogtltscriptgtltscriptgtfunctia JavaScriptcare trimite datele pentru publicare prin AJAX si arata raspunsul de la pagina ajaxphpfunction updateStatus() var status = lsquoHello worldrsquo $ajax( type ldquoPOSTrdquo url ldquolt echo $baseurlrsquoajaxphprsquo gtrdquo data ldquostatus=rdquo + status + ldquoamptarget=ltphp echo $fqlResult[$friendNumber][lsquouidrsquo] gtrdquo success function(msg) alert(msg) error function(msg) alert(msg) )

ltscriptgtltheadgt

ltbodygtltphp afiseaza imaginea si numele prietenului echo $strgtltinput type=rdquobuttonrdquo value=rdquoPublica un mesajrdquo onclick=rdquoupdateStatus()rdquo gtltbodygtlthtmlgt

14

Ultimul fișier este numit ajaxphp și este fișierul care face publicarea mesajelor

ltphpinclude_once(lsquologinphprsquo)

construieste mesajul care poate contine si imagini si include linkul catre aplicatie$attachment = array(lsquonamersquo =gt lsquoAplicatie testrsquo lsquocaptionrsquo =gt $_REQUEST[lsquostatusrsquo] lsquohrefrsquo =gt lsquohttpappsfacebookcomoricenumersquo lsquodescriptionrsquo =gt lsquorsquo ) $attachment = json_encode($attachment)

try seteaza destinatia mesajul si utilizatorul care publica $param = array( lsquomethodrsquo =gt lsquostreampublishrsquo lsquocallbackrsquo =gt lsquorsquo lsquoattachmentrsquo =gt $attachment lsquouidrsquo =gt $uid lsquotarget_idrsquo =gt $_REQUEST[lsquotargetrsquo] ) trimite mesajul $apiResult = $facebook-gtapi($param) catch(Exception $e) echo lsquoException lsquo$e

intoarce un mesaj catre utilizatorecho lsquostatus lsquo$_REQUEST[lsquostatusrsquo]

gt

Cam ăsta este tot codul pentru aplicație Acum fișierele trebuie transferate pe serverul de hosting după care putem testa

15

Capitolul 4Promovarea

Icircn acest capitol vom prezenta foarte pe scurt cacircteva metode de promovare a unei aplicaţii

O aplicaţie facebook este o aplicaţie socială nu se adresează unui singur utilizator se adresează grupurilor de prieteni De multe ori este de ajuns ca un singur membru al grupului să folosească aplicaţia de cacircteva ori pacircnă cacircnd aceasta este adoptată de majoritatea membrilor grupului şi este transmisă mai departe icircn alte grupuri Pentru ca o aplicaţie de facebook să fie de succes(să aibă cacirct mai mulți utilizatori) aceasta trebuie să fie promovată

Principalele două metode prin care promovam aplicaţiile de facebook sunt

1 Promovare internă prin autopromovare Folosind aplicaţia cacirct mai des astfel icircncat mesajele publicate pe pereții prietenilor să aducă cacirct mai multi utilizatori icircn pagina aplicaţiei

2 Promovare externă prin publicarea linkului la pagina aplicaţiei pe siteuri şi bloguri

16

Mulțumiri

Vă multumesc că ați parcursrăsfoit acest tutorial pacircnă aici și sper că a fost de folos

17

  • Introducere
  • Capitolul 1 Anatomia aplicaţiilor facebook
    • Relația facebook - aplicație
    • Etape icircn rularea unei aplicaţii
    • Structura aplicației
      • Capitolul 2 Icircnregistrarea aplicaţiilor
      • Capitolul 3 Hello world
      • Capitolul 4 Promovarea
Page 2: Aplicatii Facebook - Adrian Balcan - Www.isfree.org

2

Cuvinte din partea autorului

Icircn primul racircnd vreau să vă mulţumesc că sunteţi interesăt de această lucrare şi vă urez mult succes icircn icircnvăţarea şi dezvoltarea de aplicaţii

Ca orice alt material scris acest tutorial poate conţine erori Pentru icircmbunatăţirea lui vă rog frumos să trimiteţi un E-mail la balcanadriangmailcom cu orice eroare

descoperită său cu ce aţi vrea să mai adaug

Data ultimei modificări 11 September 2010 914 PM

3

Introducere

Icircn ultimii ani reţeaua socială facebook a avut o dezvoltare foarte rapidă ajungacircnd icircn 2009 la 250 milioane de utilizatori Icircn 2007 facebook a lansat o platformă ce permite integrearea aplicaţiilor sociale Aceasta avacircnd un mare succes şi cunoscacircnd icircn 2010 un număr de 8 milioane de dezvoltatori

Această lucrare icircşi propune să ofere cunostinţele de baza pentru dezvoltarea de aplicaţii facebook

Pentru a icircnţelege şi a putea aplica cunoştinţele dobandite icircn urma parcurgerii acestui tutorial sunt necesare cunoştinte minime de PHP şi HTML

4

Capitolul 1Anatomia aplicaţiilor facebook

Icircn acest capitol vom prezenta modul de funcţionare şi structura unei aplicaţii

Icircn continuare vom numii dezvoltator persoana care creează aplicaţia iar utilizatori persoanele care folosesc aplicaţia

Pentru a da posibilitatea creări de aplicaţii sociale facebook dispune de un API prin care aplicaţiile comunică cu facebook

API = Application Programming Interface

Facebook deţine mai multe API-uri icircn acest tutorial vom folosi Graph API (documentaţie la urmatorul link httpdevelopersfacebookcomdocsapi )

Relația facebook - aplicație

Pentru a icircnţelege anatomia unei aplicaţii de facebook este important să ştim cum lucrează platforma socială facebook cu aplicaţiile Icircn schema de mai jos este reprezen-tat modul de lucru

Cererea

Aplicaţiile facebook sunt stocate pe host-ul dezvoltatorului Cacircnd un utilizator icircncarcă o aplicaţie este trimisă o cerere către facebook(1) iar acesta trimite mai departe o cerere către host-ul aplicaţiei(2)

5

Răspunsul

Icircnainte de a trimite răspunsul aplicaţia comunică prin intermediul API-ului cu facebook pentru a lua date despre utilizatorServerul de hosting trimite răspunsul către serverul facebook(3) iar acesta trimite un răspuns HTML pe care browserul utilizatorului icircl interpretează(4)

Etape icircn rularea unei aplicaţii

Icircn timpul rulării o aplicaţie trece prin mai multe etape detaliate icircn următoarele racircnduri

Procesul de loginIcircnainte ca un utilizatorul să poată folosii o aplicaţie de facebook acesta trebuie să fie logat icircn aceasta aplicaţie(aplicația să cunoască identitatea utilizatorului)

Acordarea de permisiuniLa primul login icircn aplicaţie facebook va cere utilizatorului permisiuni ca aplicaţia să poată face anumite acţiuni pe profilul său

6

Cererea datelorAplicaţiile au nevoie de informaţii de la utilizator pentru a genera conţinut Acestea sunt transferate de la facebook printr-un sistem de cerere - răspuns implementat icircn API

Dacă ne imaginam acest proces ca un dialog icircntre două persoane acesta ar arăta cam aşa

Utilizator Care este numele meuFacebook Adrian

Utilizator Care sunt prietenii meiFacebook Ana Ion Andrei

Utilizator Ce vacircrstă are IonFacebook 26

PublicareaDe multe ori aplicaţiile de facebook au nevoie să publice conţinut pe pereţii utilizatoru-lui Practic această publicare are două roluri 1 Afisarea unui rezultat trimiterea unui mesaj public 2 Autopromovarea Mesajul publicat conţine numele şi link-ul aplicaţiei astfel icircncacirct noi utilizatori pot accesa aplicaţia

7

Structura aplicației

Structura generală a unei aplicații este compusă din urmatoarele componente

1 Sistem de login (loginphp icircn cadrul exemplului de mai tacircrziu)2 Pagina principală pagina care o va vedea utilizatorul (indexphp)3 Sistem de publicare reprezentat printr-un fișier icircncărcat cu AJAX (ajaxphp)4 APIul facebook (facebookphp fişier descărcat de la adresa httpgithubcomfacebookphp-sdk )

Aceste fişiere vor fi prezentate mai pe larg icircn capitolul 3

8

Capitolul 2Icircnregistrarea aplicaţiilor

Icircn acest capitol vom vedea cum se icircnregistrează o aplicaţie pentru a apărea pe facebook

Mai icircnainte am introdus notiunea de dezvoltator persoana care creează aplicaţiilePentru a putea creea aplicaţii de facebook este necesară icircnscrierea icircn grupul dezvol-tatorilor Se poate face de la urmatorul link şi nu costă nimic httpwwwfacebookcomdevelopers

Pentru a creea o aplicaţie este necesara icircnregistrarea acesteia icircn aplicaţia developer icircn care intram odata cu icircnscrierea icircn grupul dezvoltatorilor

Această icircnregistrare este prezentată prin 3 paşi icircn urmatoarele pagini

Pasul 1 Alegerea numelui aplicaţiei

9

Pasul 2 Alegerea tipului aplicaţieiPe facebook aplicaţiile sunt de doua tipuri IFrame şi FBML Aplicaţiile IFrame generează un cod HTML care este afișat icircn interiorul unei pagini de facebook pe cacircnd aplicaţiile FBML generează un cod FBML (Limbaj de marcare icircn format XML specific facebook)

Icircn acest tutorial vom vorbi despre aplicaţii IFrame deoarece acest tip oferă mai multă flexibilitate dezvoltatorului

Pasul 3 Introducerea adresei de hostingIcircn primul capitol am spus că aplicaţiile de facebook sunt găzduite pe un server de host-ing al dezvoltatorului Adresa la care ele se găsesc va fi introdusă ca şi Canvas URL iar facebook va sti de unde să icircncarce aplicaţia

Pe langă aceşti paşi principali dezvoltatorul mai poate adauga logo descriere şi alte proprietăţi aplicaţiei

Odata cu inregistrarea aplicaţiei aceasta primeşte şi o pagină de profil unde se pot icircnscrie fanii iar dezvoltatorii pot adauga mesaje pentru ei

10

Capitolul 3Hello world

Icircn acest capitol vom face prima aplicaţie de facebook o aplicaţie simplă care are ca scop publicarea de mesaje pe pereții prietenilor

Facebook are un SDK pentru PHP pe care icircl vom utiliza la apelarea funcțiilor din API Este inclus icircn primul racircnd cu numele de facebookphp și poate fi descărcat de la adresa httpgithubcomfacebookphp-sdk

SDK = Software Development Kit

Pentru icircnceput vom prezenta fișierul loginphp

ltphprequire lsquofacebookphprsquo

adresa unde este stocata aplicatia serverul de hosting$baseurl = lsquohttpsiteulmeucomadriantestapplicationrsquo

adresa aplicației de pe facebook unde utilizatorii vor accesa aplicația$appurl = lsquohttpappsfacebookcomoricenumersquo

datele de identificare ale aplicației care au fost primite la icircnregistrarea acesteia$config = array( lsquoappIdrsquo =gt lsquo148314685203334rsquo lsquosecretrsquo =gt lsquo98c8930a6af3c8304401c550ee7b1cabrsquo lsquocookiersquo =gt true) $facebook = new Facebook($config)

$session = $facebook-gtgetSession()

logarea + cererea de permisiuni$loginUrl = $facebook-gtgetLoginUrl( array( lsquocanvasrsquo =gt 1 lsquofbconnectrsquo =gt 0 lsquoreq_permsrsquo =gt lsquoemailpublish_streamstatus_updateuser_birthdayuser_locationuser_work_historyrsquo ))

11

$me = null Session based API callif ($session) try $uid = $facebook-gtgetUser() $me = $facebook-gtapi(lsquomersquo) catch (FacebookApiException $e) error_log($e 3 lsquoerrorslogrsquo) echo lsquoltscript type=rdquotextjavascriptrdquogttoplocationhref = rsquorsquo$loginUrlrsquorsquoltscriptgtrsquo exit else echo lsquoltscript type=rdquotextjavascriptrdquogttoplocationhref = rsquorsquo$loginUrlrsquorsquoltscriptgtrsquo exitgt

După cum ați observat icircn fișierul loginphp am introdus și datele de identificare ale aplicației care le-am primit la icircnregistrarea acesteia

12

Icircn continuare vom prezenta fișierul indexphp Acest fișier este cel al carui conținut generează ceea ce vede utilizatorul interfaţa Pentru utilizator este foarte important ca interfaţa să fie simplă şi cacirct mai intuitivă Pentru a avea o aplicație mai dinamică vom utiliza AJAX și puțin JavaScript

ltphpinclude_once(lsquologinphprsquo) try construieste cerere pentru baza de date facebook pentru mai multe detalii cititi documentatia FQL $fql = lsquoSELECT name sex pic_square uid FROM user WHERE uid IN (SELECT uid2 FROM friend WHERE uid1=rsquo $uid lsquo LIMIT 10) LIMIT 10rsquo $param = array( lsquomethodrsquo =gt lsquofqlqueryrsquo lsquoqueryrsquo =gt $fql lsquocallbackrsquo =gt lsquorsquo ) dupa acest rand $fqlResult va contine o lista cu 10 prieteni $fqlResult = $facebook-gtapi($param) foreach($fqlResult as $number =gt $friend) $friends = $numberrsquo ltimg src=rdquorsquo$friend[lsquopic_squarersquo]rsquordquogt lsquo$friend[lsquonamersquo]rsquoltbrgtrsquo alege un prieten aleator $friendNumber = rand(0 count($fqlResult)) pune imaginea si numele prietenului in variabila $str $str = lsquoUn prieten aleator ltimg src=rdquorsquo$fqlResult[$friendNumber][lsquopic_squarersquo]rsquordquogt lsquo$fqlResult[$friendNumber][lsquonamersquo]

catch(Exception $e) echo lsquoException lsquo$e

gt

13

lthtmlgtltheadgtltscript type=rdquotextjavascriptrdquo src=rdquohttpajaxgoogleapiscomajaxlibsjquery14jqueryminjsrdquogtltscriptgtltscriptgtfunctia JavaScriptcare trimite datele pentru publicare prin AJAX si arata raspunsul de la pagina ajaxphpfunction updateStatus() var status = lsquoHello worldrsquo $ajax( type ldquoPOSTrdquo url ldquolt echo $baseurlrsquoajaxphprsquo gtrdquo data ldquostatus=rdquo + status + ldquoamptarget=ltphp echo $fqlResult[$friendNumber][lsquouidrsquo] gtrdquo success function(msg) alert(msg) error function(msg) alert(msg) )

ltscriptgtltheadgt

ltbodygtltphp afiseaza imaginea si numele prietenului echo $strgtltinput type=rdquobuttonrdquo value=rdquoPublica un mesajrdquo onclick=rdquoupdateStatus()rdquo gtltbodygtlthtmlgt

14

Ultimul fișier este numit ajaxphp și este fișierul care face publicarea mesajelor

ltphpinclude_once(lsquologinphprsquo)

construieste mesajul care poate contine si imagini si include linkul catre aplicatie$attachment = array(lsquonamersquo =gt lsquoAplicatie testrsquo lsquocaptionrsquo =gt $_REQUEST[lsquostatusrsquo] lsquohrefrsquo =gt lsquohttpappsfacebookcomoricenumersquo lsquodescriptionrsquo =gt lsquorsquo ) $attachment = json_encode($attachment)

try seteaza destinatia mesajul si utilizatorul care publica $param = array( lsquomethodrsquo =gt lsquostreampublishrsquo lsquocallbackrsquo =gt lsquorsquo lsquoattachmentrsquo =gt $attachment lsquouidrsquo =gt $uid lsquotarget_idrsquo =gt $_REQUEST[lsquotargetrsquo] ) trimite mesajul $apiResult = $facebook-gtapi($param) catch(Exception $e) echo lsquoException lsquo$e

intoarce un mesaj catre utilizatorecho lsquostatus lsquo$_REQUEST[lsquostatusrsquo]

gt

Cam ăsta este tot codul pentru aplicație Acum fișierele trebuie transferate pe serverul de hosting după care putem testa

15

Capitolul 4Promovarea

Icircn acest capitol vom prezenta foarte pe scurt cacircteva metode de promovare a unei aplicaţii

O aplicaţie facebook este o aplicaţie socială nu se adresează unui singur utilizator se adresează grupurilor de prieteni De multe ori este de ajuns ca un singur membru al grupului să folosească aplicaţia de cacircteva ori pacircnă cacircnd aceasta este adoptată de majoritatea membrilor grupului şi este transmisă mai departe icircn alte grupuri Pentru ca o aplicaţie de facebook să fie de succes(să aibă cacirct mai mulți utilizatori) aceasta trebuie să fie promovată

Principalele două metode prin care promovam aplicaţiile de facebook sunt

1 Promovare internă prin autopromovare Folosind aplicaţia cacirct mai des astfel icircncat mesajele publicate pe pereții prietenilor să aducă cacirct mai multi utilizatori icircn pagina aplicaţiei

2 Promovare externă prin publicarea linkului la pagina aplicaţiei pe siteuri şi bloguri

16

Mulțumiri

Vă multumesc că ați parcursrăsfoit acest tutorial pacircnă aici și sper că a fost de folos

17

  • Introducere
  • Capitolul 1 Anatomia aplicaţiilor facebook
    • Relația facebook - aplicație
    • Etape icircn rularea unei aplicaţii
    • Structura aplicației
      • Capitolul 2 Icircnregistrarea aplicaţiilor
      • Capitolul 3 Hello world
      • Capitolul 4 Promovarea
Page 3: Aplicatii Facebook - Adrian Balcan - Www.isfree.org

3

Introducere

Icircn ultimii ani reţeaua socială facebook a avut o dezvoltare foarte rapidă ajungacircnd icircn 2009 la 250 milioane de utilizatori Icircn 2007 facebook a lansat o platformă ce permite integrearea aplicaţiilor sociale Aceasta avacircnd un mare succes şi cunoscacircnd icircn 2010 un număr de 8 milioane de dezvoltatori

Această lucrare icircşi propune să ofere cunostinţele de baza pentru dezvoltarea de aplicaţii facebook

Pentru a icircnţelege şi a putea aplica cunoştinţele dobandite icircn urma parcurgerii acestui tutorial sunt necesare cunoştinte minime de PHP şi HTML

4

Capitolul 1Anatomia aplicaţiilor facebook

Icircn acest capitol vom prezenta modul de funcţionare şi structura unei aplicaţii

Icircn continuare vom numii dezvoltator persoana care creează aplicaţia iar utilizatori persoanele care folosesc aplicaţia

Pentru a da posibilitatea creări de aplicaţii sociale facebook dispune de un API prin care aplicaţiile comunică cu facebook

API = Application Programming Interface

Facebook deţine mai multe API-uri icircn acest tutorial vom folosi Graph API (documentaţie la urmatorul link httpdevelopersfacebookcomdocsapi )

Relația facebook - aplicație

Pentru a icircnţelege anatomia unei aplicaţii de facebook este important să ştim cum lucrează platforma socială facebook cu aplicaţiile Icircn schema de mai jos este reprezen-tat modul de lucru

Cererea

Aplicaţiile facebook sunt stocate pe host-ul dezvoltatorului Cacircnd un utilizator icircncarcă o aplicaţie este trimisă o cerere către facebook(1) iar acesta trimite mai departe o cerere către host-ul aplicaţiei(2)

5

Răspunsul

Icircnainte de a trimite răspunsul aplicaţia comunică prin intermediul API-ului cu facebook pentru a lua date despre utilizatorServerul de hosting trimite răspunsul către serverul facebook(3) iar acesta trimite un răspuns HTML pe care browserul utilizatorului icircl interpretează(4)

Etape icircn rularea unei aplicaţii

Icircn timpul rulării o aplicaţie trece prin mai multe etape detaliate icircn următoarele racircnduri

Procesul de loginIcircnainte ca un utilizatorul să poată folosii o aplicaţie de facebook acesta trebuie să fie logat icircn aceasta aplicaţie(aplicația să cunoască identitatea utilizatorului)

Acordarea de permisiuniLa primul login icircn aplicaţie facebook va cere utilizatorului permisiuni ca aplicaţia să poată face anumite acţiuni pe profilul său

6

Cererea datelorAplicaţiile au nevoie de informaţii de la utilizator pentru a genera conţinut Acestea sunt transferate de la facebook printr-un sistem de cerere - răspuns implementat icircn API

Dacă ne imaginam acest proces ca un dialog icircntre două persoane acesta ar arăta cam aşa

Utilizator Care este numele meuFacebook Adrian

Utilizator Care sunt prietenii meiFacebook Ana Ion Andrei

Utilizator Ce vacircrstă are IonFacebook 26

PublicareaDe multe ori aplicaţiile de facebook au nevoie să publice conţinut pe pereţii utilizatoru-lui Practic această publicare are două roluri 1 Afisarea unui rezultat trimiterea unui mesaj public 2 Autopromovarea Mesajul publicat conţine numele şi link-ul aplicaţiei astfel icircncacirct noi utilizatori pot accesa aplicaţia

7

Structura aplicației

Structura generală a unei aplicații este compusă din urmatoarele componente

1 Sistem de login (loginphp icircn cadrul exemplului de mai tacircrziu)2 Pagina principală pagina care o va vedea utilizatorul (indexphp)3 Sistem de publicare reprezentat printr-un fișier icircncărcat cu AJAX (ajaxphp)4 APIul facebook (facebookphp fişier descărcat de la adresa httpgithubcomfacebookphp-sdk )

Aceste fişiere vor fi prezentate mai pe larg icircn capitolul 3

8

Capitolul 2Icircnregistrarea aplicaţiilor

Icircn acest capitol vom vedea cum se icircnregistrează o aplicaţie pentru a apărea pe facebook

Mai icircnainte am introdus notiunea de dezvoltator persoana care creează aplicaţiilePentru a putea creea aplicaţii de facebook este necesară icircnscrierea icircn grupul dezvol-tatorilor Se poate face de la urmatorul link şi nu costă nimic httpwwwfacebookcomdevelopers

Pentru a creea o aplicaţie este necesara icircnregistrarea acesteia icircn aplicaţia developer icircn care intram odata cu icircnscrierea icircn grupul dezvoltatorilor

Această icircnregistrare este prezentată prin 3 paşi icircn urmatoarele pagini

Pasul 1 Alegerea numelui aplicaţiei

9

Pasul 2 Alegerea tipului aplicaţieiPe facebook aplicaţiile sunt de doua tipuri IFrame şi FBML Aplicaţiile IFrame generează un cod HTML care este afișat icircn interiorul unei pagini de facebook pe cacircnd aplicaţiile FBML generează un cod FBML (Limbaj de marcare icircn format XML specific facebook)

Icircn acest tutorial vom vorbi despre aplicaţii IFrame deoarece acest tip oferă mai multă flexibilitate dezvoltatorului

Pasul 3 Introducerea adresei de hostingIcircn primul capitol am spus că aplicaţiile de facebook sunt găzduite pe un server de host-ing al dezvoltatorului Adresa la care ele se găsesc va fi introdusă ca şi Canvas URL iar facebook va sti de unde să icircncarce aplicaţia

Pe langă aceşti paşi principali dezvoltatorul mai poate adauga logo descriere şi alte proprietăţi aplicaţiei

Odata cu inregistrarea aplicaţiei aceasta primeşte şi o pagină de profil unde se pot icircnscrie fanii iar dezvoltatorii pot adauga mesaje pentru ei

10

Capitolul 3Hello world

Icircn acest capitol vom face prima aplicaţie de facebook o aplicaţie simplă care are ca scop publicarea de mesaje pe pereții prietenilor

Facebook are un SDK pentru PHP pe care icircl vom utiliza la apelarea funcțiilor din API Este inclus icircn primul racircnd cu numele de facebookphp și poate fi descărcat de la adresa httpgithubcomfacebookphp-sdk

SDK = Software Development Kit

Pentru icircnceput vom prezenta fișierul loginphp

ltphprequire lsquofacebookphprsquo

adresa unde este stocata aplicatia serverul de hosting$baseurl = lsquohttpsiteulmeucomadriantestapplicationrsquo

adresa aplicației de pe facebook unde utilizatorii vor accesa aplicația$appurl = lsquohttpappsfacebookcomoricenumersquo

datele de identificare ale aplicației care au fost primite la icircnregistrarea acesteia$config = array( lsquoappIdrsquo =gt lsquo148314685203334rsquo lsquosecretrsquo =gt lsquo98c8930a6af3c8304401c550ee7b1cabrsquo lsquocookiersquo =gt true) $facebook = new Facebook($config)

$session = $facebook-gtgetSession()

logarea + cererea de permisiuni$loginUrl = $facebook-gtgetLoginUrl( array( lsquocanvasrsquo =gt 1 lsquofbconnectrsquo =gt 0 lsquoreq_permsrsquo =gt lsquoemailpublish_streamstatus_updateuser_birthdayuser_locationuser_work_historyrsquo ))

11

$me = null Session based API callif ($session) try $uid = $facebook-gtgetUser() $me = $facebook-gtapi(lsquomersquo) catch (FacebookApiException $e) error_log($e 3 lsquoerrorslogrsquo) echo lsquoltscript type=rdquotextjavascriptrdquogttoplocationhref = rsquorsquo$loginUrlrsquorsquoltscriptgtrsquo exit else echo lsquoltscript type=rdquotextjavascriptrdquogttoplocationhref = rsquorsquo$loginUrlrsquorsquoltscriptgtrsquo exitgt

După cum ați observat icircn fișierul loginphp am introdus și datele de identificare ale aplicației care le-am primit la icircnregistrarea acesteia

12

Icircn continuare vom prezenta fișierul indexphp Acest fișier este cel al carui conținut generează ceea ce vede utilizatorul interfaţa Pentru utilizator este foarte important ca interfaţa să fie simplă şi cacirct mai intuitivă Pentru a avea o aplicație mai dinamică vom utiliza AJAX și puțin JavaScript

ltphpinclude_once(lsquologinphprsquo) try construieste cerere pentru baza de date facebook pentru mai multe detalii cititi documentatia FQL $fql = lsquoSELECT name sex pic_square uid FROM user WHERE uid IN (SELECT uid2 FROM friend WHERE uid1=rsquo $uid lsquo LIMIT 10) LIMIT 10rsquo $param = array( lsquomethodrsquo =gt lsquofqlqueryrsquo lsquoqueryrsquo =gt $fql lsquocallbackrsquo =gt lsquorsquo ) dupa acest rand $fqlResult va contine o lista cu 10 prieteni $fqlResult = $facebook-gtapi($param) foreach($fqlResult as $number =gt $friend) $friends = $numberrsquo ltimg src=rdquorsquo$friend[lsquopic_squarersquo]rsquordquogt lsquo$friend[lsquonamersquo]rsquoltbrgtrsquo alege un prieten aleator $friendNumber = rand(0 count($fqlResult)) pune imaginea si numele prietenului in variabila $str $str = lsquoUn prieten aleator ltimg src=rdquorsquo$fqlResult[$friendNumber][lsquopic_squarersquo]rsquordquogt lsquo$fqlResult[$friendNumber][lsquonamersquo]

catch(Exception $e) echo lsquoException lsquo$e

gt

13

lthtmlgtltheadgtltscript type=rdquotextjavascriptrdquo src=rdquohttpajaxgoogleapiscomajaxlibsjquery14jqueryminjsrdquogtltscriptgtltscriptgtfunctia JavaScriptcare trimite datele pentru publicare prin AJAX si arata raspunsul de la pagina ajaxphpfunction updateStatus() var status = lsquoHello worldrsquo $ajax( type ldquoPOSTrdquo url ldquolt echo $baseurlrsquoajaxphprsquo gtrdquo data ldquostatus=rdquo + status + ldquoamptarget=ltphp echo $fqlResult[$friendNumber][lsquouidrsquo] gtrdquo success function(msg) alert(msg) error function(msg) alert(msg) )

ltscriptgtltheadgt

ltbodygtltphp afiseaza imaginea si numele prietenului echo $strgtltinput type=rdquobuttonrdquo value=rdquoPublica un mesajrdquo onclick=rdquoupdateStatus()rdquo gtltbodygtlthtmlgt

14

Ultimul fișier este numit ajaxphp și este fișierul care face publicarea mesajelor

ltphpinclude_once(lsquologinphprsquo)

construieste mesajul care poate contine si imagini si include linkul catre aplicatie$attachment = array(lsquonamersquo =gt lsquoAplicatie testrsquo lsquocaptionrsquo =gt $_REQUEST[lsquostatusrsquo] lsquohrefrsquo =gt lsquohttpappsfacebookcomoricenumersquo lsquodescriptionrsquo =gt lsquorsquo ) $attachment = json_encode($attachment)

try seteaza destinatia mesajul si utilizatorul care publica $param = array( lsquomethodrsquo =gt lsquostreampublishrsquo lsquocallbackrsquo =gt lsquorsquo lsquoattachmentrsquo =gt $attachment lsquouidrsquo =gt $uid lsquotarget_idrsquo =gt $_REQUEST[lsquotargetrsquo] ) trimite mesajul $apiResult = $facebook-gtapi($param) catch(Exception $e) echo lsquoException lsquo$e

intoarce un mesaj catre utilizatorecho lsquostatus lsquo$_REQUEST[lsquostatusrsquo]

gt

Cam ăsta este tot codul pentru aplicație Acum fișierele trebuie transferate pe serverul de hosting după care putem testa

15

Capitolul 4Promovarea

Icircn acest capitol vom prezenta foarte pe scurt cacircteva metode de promovare a unei aplicaţii

O aplicaţie facebook este o aplicaţie socială nu se adresează unui singur utilizator se adresează grupurilor de prieteni De multe ori este de ajuns ca un singur membru al grupului să folosească aplicaţia de cacircteva ori pacircnă cacircnd aceasta este adoptată de majoritatea membrilor grupului şi este transmisă mai departe icircn alte grupuri Pentru ca o aplicaţie de facebook să fie de succes(să aibă cacirct mai mulți utilizatori) aceasta trebuie să fie promovată

Principalele două metode prin care promovam aplicaţiile de facebook sunt

1 Promovare internă prin autopromovare Folosind aplicaţia cacirct mai des astfel icircncat mesajele publicate pe pereții prietenilor să aducă cacirct mai multi utilizatori icircn pagina aplicaţiei

2 Promovare externă prin publicarea linkului la pagina aplicaţiei pe siteuri şi bloguri

16

Mulțumiri

Vă multumesc că ați parcursrăsfoit acest tutorial pacircnă aici și sper că a fost de folos

17

  • Introducere
  • Capitolul 1 Anatomia aplicaţiilor facebook
    • Relația facebook - aplicație
    • Etape icircn rularea unei aplicaţii
    • Structura aplicației
      • Capitolul 2 Icircnregistrarea aplicaţiilor
      • Capitolul 3 Hello world
      • Capitolul 4 Promovarea
Page 4: Aplicatii Facebook - Adrian Balcan - Www.isfree.org

4

Capitolul 1Anatomia aplicaţiilor facebook

Icircn acest capitol vom prezenta modul de funcţionare şi structura unei aplicaţii

Icircn continuare vom numii dezvoltator persoana care creează aplicaţia iar utilizatori persoanele care folosesc aplicaţia

Pentru a da posibilitatea creări de aplicaţii sociale facebook dispune de un API prin care aplicaţiile comunică cu facebook

API = Application Programming Interface

Facebook deţine mai multe API-uri icircn acest tutorial vom folosi Graph API (documentaţie la urmatorul link httpdevelopersfacebookcomdocsapi )

Relația facebook - aplicație

Pentru a icircnţelege anatomia unei aplicaţii de facebook este important să ştim cum lucrează platforma socială facebook cu aplicaţiile Icircn schema de mai jos este reprezen-tat modul de lucru

Cererea

Aplicaţiile facebook sunt stocate pe host-ul dezvoltatorului Cacircnd un utilizator icircncarcă o aplicaţie este trimisă o cerere către facebook(1) iar acesta trimite mai departe o cerere către host-ul aplicaţiei(2)

5

Răspunsul

Icircnainte de a trimite răspunsul aplicaţia comunică prin intermediul API-ului cu facebook pentru a lua date despre utilizatorServerul de hosting trimite răspunsul către serverul facebook(3) iar acesta trimite un răspuns HTML pe care browserul utilizatorului icircl interpretează(4)

Etape icircn rularea unei aplicaţii

Icircn timpul rulării o aplicaţie trece prin mai multe etape detaliate icircn următoarele racircnduri

Procesul de loginIcircnainte ca un utilizatorul să poată folosii o aplicaţie de facebook acesta trebuie să fie logat icircn aceasta aplicaţie(aplicația să cunoască identitatea utilizatorului)

Acordarea de permisiuniLa primul login icircn aplicaţie facebook va cere utilizatorului permisiuni ca aplicaţia să poată face anumite acţiuni pe profilul său

6

Cererea datelorAplicaţiile au nevoie de informaţii de la utilizator pentru a genera conţinut Acestea sunt transferate de la facebook printr-un sistem de cerere - răspuns implementat icircn API

Dacă ne imaginam acest proces ca un dialog icircntre două persoane acesta ar arăta cam aşa

Utilizator Care este numele meuFacebook Adrian

Utilizator Care sunt prietenii meiFacebook Ana Ion Andrei

Utilizator Ce vacircrstă are IonFacebook 26

PublicareaDe multe ori aplicaţiile de facebook au nevoie să publice conţinut pe pereţii utilizatoru-lui Practic această publicare are două roluri 1 Afisarea unui rezultat trimiterea unui mesaj public 2 Autopromovarea Mesajul publicat conţine numele şi link-ul aplicaţiei astfel icircncacirct noi utilizatori pot accesa aplicaţia

7

Structura aplicației

Structura generală a unei aplicații este compusă din urmatoarele componente

1 Sistem de login (loginphp icircn cadrul exemplului de mai tacircrziu)2 Pagina principală pagina care o va vedea utilizatorul (indexphp)3 Sistem de publicare reprezentat printr-un fișier icircncărcat cu AJAX (ajaxphp)4 APIul facebook (facebookphp fişier descărcat de la adresa httpgithubcomfacebookphp-sdk )

Aceste fişiere vor fi prezentate mai pe larg icircn capitolul 3

8

Capitolul 2Icircnregistrarea aplicaţiilor

Icircn acest capitol vom vedea cum se icircnregistrează o aplicaţie pentru a apărea pe facebook

Mai icircnainte am introdus notiunea de dezvoltator persoana care creează aplicaţiilePentru a putea creea aplicaţii de facebook este necesară icircnscrierea icircn grupul dezvol-tatorilor Se poate face de la urmatorul link şi nu costă nimic httpwwwfacebookcomdevelopers

Pentru a creea o aplicaţie este necesara icircnregistrarea acesteia icircn aplicaţia developer icircn care intram odata cu icircnscrierea icircn grupul dezvoltatorilor

Această icircnregistrare este prezentată prin 3 paşi icircn urmatoarele pagini

Pasul 1 Alegerea numelui aplicaţiei

9

Pasul 2 Alegerea tipului aplicaţieiPe facebook aplicaţiile sunt de doua tipuri IFrame şi FBML Aplicaţiile IFrame generează un cod HTML care este afișat icircn interiorul unei pagini de facebook pe cacircnd aplicaţiile FBML generează un cod FBML (Limbaj de marcare icircn format XML specific facebook)

Icircn acest tutorial vom vorbi despre aplicaţii IFrame deoarece acest tip oferă mai multă flexibilitate dezvoltatorului

Pasul 3 Introducerea adresei de hostingIcircn primul capitol am spus că aplicaţiile de facebook sunt găzduite pe un server de host-ing al dezvoltatorului Adresa la care ele se găsesc va fi introdusă ca şi Canvas URL iar facebook va sti de unde să icircncarce aplicaţia

Pe langă aceşti paşi principali dezvoltatorul mai poate adauga logo descriere şi alte proprietăţi aplicaţiei

Odata cu inregistrarea aplicaţiei aceasta primeşte şi o pagină de profil unde se pot icircnscrie fanii iar dezvoltatorii pot adauga mesaje pentru ei

10

Capitolul 3Hello world

Icircn acest capitol vom face prima aplicaţie de facebook o aplicaţie simplă care are ca scop publicarea de mesaje pe pereții prietenilor

Facebook are un SDK pentru PHP pe care icircl vom utiliza la apelarea funcțiilor din API Este inclus icircn primul racircnd cu numele de facebookphp și poate fi descărcat de la adresa httpgithubcomfacebookphp-sdk

SDK = Software Development Kit

Pentru icircnceput vom prezenta fișierul loginphp

ltphprequire lsquofacebookphprsquo

adresa unde este stocata aplicatia serverul de hosting$baseurl = lsquohttpsiteulmeucomadriantestapplicationrsquo

adresa aplicației de pe facebook unde utilizatorii vor accesa aplicația$appurl = lsquohttpappsfacebookcomoricenumersquo

datele de identificare ale aplicației care au fost primite la icircnregistrarea acesteia$config = array( lsquoappIdrsquo =gt lsquo148314685203334rsquo lsquosecretrsquo =gt lsquo98c8930a6af3c8304401c550ee7b1cabrsquo lsquocookiersquo =gt true) $facebook = new Facebook($config)

$session = $facebook-gtgetSession()

logarea + cererea de permisiuni$loginUrl = $facebook-gtgetLoginUrl( array( lsquocanvasrsquo =gt 1 lsquofbconnectrsquo =gt 0 lsquoreq_permsrsquo =gt lsquoemailpublish_streamstatus_updateuser_birthdayuser_locationuser_work_historyrsquo ))

11

$me = null Session based API callif ($session) try $uid = $facebook-gtgetUser() $me = $facebook-gtapi(lsquomersquo) catch (FacebookApiException $e) error_log($e 3 lsquoerrorslogrsquo) echo lsquoltscript type=rdquotextjavascriptrdquogttoplocationhref = rsquorsquo$loginUrlrsquorsquoltscriptgtrsquo exit else echo lsquoltscript type=rdquotextjavascriptrdquogttoplocationhref = rsquorsquo$loginUrlrsquorsquoltscriptgtrsquo exitgt

După cum ați observat icircn fișierul loginphp am introdus și datele de identificare ale aplicației care le-am primit la icircnregistrarea acesteia

12

Icircn continuare vom prezenta fișierul indexphp Acest fișier este cel al carui conținut generează ceea ce vede utilizatorul interfaţa Pentru utilizator este foarte important ca interfaţa să fie simplă şi cacirct mai intuitivă Pentru a avea o aplicație mai dinamică vom utiliza AJAX și puțin JavaScript

ltphpinclude_once(lsquologinphprsquo) try construieste cerere pentru baza de date facebook pentru mai multe detalii cititi documentatia FQL $fql = lsquoSELECT name sex pic_square uid FROM user WHERE uid IN (SELECT uid2 FROM friend WHERE uid1=rsquo $uid lsquo LIMIT 10) LIMIT 10rsquo $param = array( lsquomethodrsquo =gt lsquofqlqueryrsquo lsquoqueryrsquo =gt $fql lsquocallbackrsquo =gt lsquorsquo ) dupa acest rand $fqlResult va contine o lista cu 10 prieteni $fqlResult = $facebook-gtapi($param) foreach($fqlResult as $number =gt $friend) $friends = $numberrsquo ltimg src=rdquorsquo$friend[lsquopic_squarersquo]rsquordquogt lsquo$friend[lsquonamersquo]rsquoltbrgtrsquo alege un prieten aleator $friendNumber = rand(0 count($fqlResult)) pune imaginea si numele prietenului in variabila $str $str = lsquoUn prieten aleator ltimg src=rdquorsquo$fqlResult[$friendNumber][lsquopic_squarersquo]rsquordquogt lsquo$fqlResult[$friendNumber][lsquonamersquo]

catch(Exception $e) echo lsquoException lsquo$e

gt

13

lthtmlgtltheadgtltscript type=rdquotextjavascriptrdquo src=rdquohttpajaxgoogleapiscomajaxlibsjquery14jqueryminjsrdquogtltscriptgtltscriptgtfunctia JavaScriptcare trimite datele pentru publicare prin AJAX si arata raspunsul de la pagina ajaxphpfunction updateStatus() var status = lsquoHello worldrsquo $ajax( type ldquoPOSTrdquo url ldquolt echo $baseurlrsquoajaxphprsquo gtrdquo data ldquostatus=rdquo + status + ldquoamptarget=ltphp echo $fqlResult[$friendNumber][lsquouidrsquo] gtrdquo success function(msg) alert(msg) error function(msg) alert(msg) )

ltscriptgtltheadgt

ltbodygtltphp afiseaza imaginea si numele prietenului echo $strgtltinput type=rdquobuttonrdquo value=rdquoPublica un mesajrdquo onclick=rdquoupdateStatus()rdquo gtltbodygtlthtmlgt

14

Ultimul fișier este numit ajaxphp și este fișierul care face publicarea mesajelor

ltphpinclude_once(lsquologinphprsquo)

construieste mesajul care poate contine si imagini si include linkul catre aplicatie$attachment = array(lsquonamersquo =gt lsquoAplicatie testrsquo lsquocaptionrsquo =gt $_REQUEST[lsquostatusrsquo] lsquohrefrsquo =gt lsquohttpappsfacebookcomoricenumersquo lsquodescriptionrsquo =gt lsquorsquo ) $attachment = json_encode($attachment)

try seteaza destinatia mesajul si utilizatorul care publica $param = array( lsquomethodrsquo =gt lsquostreampublishrsquo lsquocallbackrsquo =gt lsquorsquo lsquoattachmentrsquo =gt $attachment lsquouidrsquo =gt $uid lsquotarget_idrsquo =gt $_REQUEST[lsquotargetrsquo] ) trimite mesajul $apiResult = $facebook-gtapi($param) catch(Exception $e) echo lsquoException lsquo$e

intoarce un mesaj catre utilizatorecho lsquostatus lsquo$_REQUEST[lsquostatusrsquo]

gt

Cam ăsta este tot codul pentru aplicație Acum fișierele trebuie transferate pe serverul de hosting după care putem testa

15

Capitolul 4Promovarea

Icircn acest capitol vom prezenta foarte pe scurt cacircteva metode de promovare a unei aplicaţii

O aplicaţie facebook este o aplicaţie socială nu se adresează unui singur utilizator se adresează grupurilor de prieteni De multe ori este de ajuns ca un singur membru al grupului să folosească aplicaţia de cacircteva ori pacircnă cacircnd aceasta este adoptată de majoritatea membrilor grupului şi este transmisă mai departe icircn alte grupuri Pentru ca o aplicaţie de facebook să fie de succes(să aibă cacirct mai mulți utilizatori) aceasta trebuie să fie promovată

Principalele două metode prin care promovam aplicaţiile de facebook sunt

1 Promovare internă prin autopromovare Folosind aplicaţia cacirct mai des astfel icircncat mesajele publicate pe pereții prietenilor să aducă cacirct mai multi utilizatori icircn pagina aplicaţiei

2 Promovare externă prin publicarea linkului la pagina aplicaţiei pe siteuri şi bloguri

16

Mulțumiri

Vă multumesc că ați parcursrăsfoit acest tutorial pacircnă aici și sper că a fost de folos

17

  • Introducere
  • Capitolul 1 Anatomia aplicaţiilor facebook
    • Relația facebook - aplicație
    • Etape icircn rularea unei aplicaţii
    • Structura aplicației
      • Capitolul 2 Icircnregistrarea aplicaţiilor
      • Capitolul 3 Hello world
      • Capitolul 4 Promovarea
Page 5: Aplicatii Facebook - Adrian Balcan - Www.isfree.org

5

Răspunsul

Icircnainte de a trimite răspunsul aplicaţia comunică prin intermediul API-ului cu facebook pentru a lua date despre utilizatorServerul de hosting trimite răspunsul către serverul facebook(3) iar acesta trimite un răspuns HTML pe care browserul utilizatorului icircl interpretează(4)

Etape icircn rularea unei aplicaţii

Icircn timpul rulării o aplicaţie trece prin mai multe etape detaliate icircn următoarele racircnduri

Procesul de loginIcircnainte ca un utilizatorul să poată folosii o aplicaţie de facebook acesta trebuie să fie logat icircn aceasta aplicaţie(aplicația să cunoască identitatea utilizatorului)

Acordarea de permisiuniLa primul login icircn aplicaţie facebook va cere utilizatorului permisiuni ca aplicaţia să poată face anumite acţiuni pe profilul său

6

Cererea datelorAplicaţiile au nevoie de informaţii de la utilizator pentru a genera conţinut Acestea sunt transferate de la facebook printr-un sistem de cerere - răspuns implementat icircn API

Dacă ne imaginam acest proces ca un dialog icircntre două persoane acesta ar arăta cam aşa

Utilizator Care este numele meuFacebook Adrian

Utilizator Care sunt prietenii meiFacebook Ana Ion Andrei

Utilizator Ce vacircrstă are IonFacebook 26

PublicareaDe multe ori aplicaţiile de facebook au nevoie să publice conţinut pe pereţii utilizatoru-lui Practic această publicare are două roluri 1 Afisarea unui rezultat trimiterea unui mesaj public 2 Autopromovarea Mesajul publicat conţine numele şi link-ul aplicaţiei astfel icircncacirct noi utilizatori pot accesa aplicaţia

7

Structura aplicației

Structura generală a unei aplicații este compusă din urmatoarele componente

1 Sistem de login (loginphp icircn cadrul exemplului de mai tacircrziu)2 Pagina principală pagina care o va vedea utilizatorul (indexphp)3 Sistem de publicare reprezentat printr-un fișier icircncărcat cu AJAX (ajaxphp)4 APIul facebook (facebookphp fişier descărcat de la adresa httpgithubcomfacebookphp-sdk )

Aceste fişiere vor fi prezentate mai pe larg icircn capitolul 3

8

Capitolul 2Icircnregistrarea aplicaţiilor

Icircn acest capitol vom vedea cum se icircnregistrează o aplicaţie pentru a apărea pe facebook

Mai icircnainte am introdus notiunea de dezvoltator persoana care creează aplicaţiilePentru a putea creea aplicaţii de facebook este necesară icircnscrierea icircn grupul dezvol-tatorilor Se poate face de la urmatorul link şi nu costă nimic httpwwwfacebookcomdevelopers

Pentru a creea o aplicaţie este necesara icircnregistrarea acesteia icircn aplicaţia developer icircn care intram odata cu icircnscrierea icircn grupul dezvoltatorilor

Această icircnregistrare este prezentată prin 3 paşi icircn urmatoarele pagini

Pasul 1 Alegerea numelui aplicaţiei

9

Pasul 2 Alegerea tipului aplicaţieiPe facebook aplicaţiile sunt de doua tipuri IFrame şi FBML Aplicaţiile IFrame generează un cod HTML care este afișat icircn interiorul unei pagini de facebook pe cacircnd aplicaţiile FBML generează un cod FBML (Limbaj de marcare icircn format XML specific facebook)

Icircn acest tutorial vom vorbi despre aplicaţii IFrame deoarece acest tip oferă mai multă flexibilitate dezvoltatorului

Pasul 3 Introducerea adresei de hostingIcircn primul capitol am spus că aplicaţiile de facebook sunt găzduite pe un server de host-ing al dezvoltatorului Adresa la care ele se găsesc va fi introdusă ca şi Canvas URL iar facebook va sti de unde să icircncarce aplicaţia

Pe langă aceşti paşi principali dezvoltatorul mai poate adauga logo descriere şi alte proprietăţi aplicaţiei

Odata cu inregistrarea aplicaţiei aceasta primeşte şi o pagină de profil unde se pot icircnscrie fanii iar dezvoltatorii pot adauga mesaje pentru ei

10

Capitolul 3Hello world

Icircn acest capitol vom face prima aplicaţie de facebook o aplicaţie simplă care are ca scop publicarea de mesaje pe pereții prietenilor

Facebook are un SDK pentru PHP pe care icircl vom utiliza la apelarea funcțiilor din API Este inclus icircn primul racircnd cu numele de facebookphp și poate fi descărcat de la adresa httpgithubcomfacebookphp-sdk

SDK = Software Development Kit

Pentru icircnceput vom prezenta fișierul loginphp

ltphprequire lsquofacebookphprsquo

adresa unde este stocata aplicatia serverul de hosting$baseurl = lsquohttpsiteulmeucomadriantestapplicationrsquo

adresa aplicației de pe facebook unde utilizatorii vor accesa aplicația$appurl = lsquohttpappsfacebookcomoricenumersquo

datele de identificare ale aplicației care au fost primite la icircnregistrarea acesteia$config = array( lsquoappIdrsquo =gt lsquo148314685203334rsquo lsquosecretrsquo =gt lsquo98c8930a6af3c8304401c550ee7b1cabrsquo lsquocookiersquo =gt true) $facebook = new Facebook($config)

$session = $facebook-gtgetSession()

logarea + cererea de permisiuni$loginUrl = $facebook-gtgetLoginUrl( array( lsquocanvasrsquo =gt 1 lsquofbconnectrsquo =gt 0 lsquoreq_permsrsquo =gt lsquoemailpublish_streamstatus_updateuser_birthdayuser_locationuser_work_historyrsquo ))

11

$me = null Session based API callif ($session) try $uid = $facebook-gtgetUser() $me = $facebook-gtapi(lsquomersquo) catch (FacebookApiException $e) error_log($e 3 lsquoerrorslogrsquo) echo lsquoltscript type=rdquotextjavascriptrdquogttoplocationhref = rsquorsquo$loginUrlrsquorsquoltscriptgtrsquo exit else echo lsquoltscript type=rdquotextjavascriptrdquogttoplocationhref = rsquorsquo$loginUrlrsquorsquoltscriptgtrsquo exitgt

După cum ați observat icircn fișierul loginphp am introdus și datele de identificare ale aplicației care le-am primit la icircnregistrarea acesteia

12

Icircn continuare vom prezenta fișierul indexphp Acest fișier este cel al carui conținut generează ceea ce vede utilizatorul interfaţa Pentru utilizator este foarte important ca interfaţa să fie simplă şi cacirct mai intuitivă Pentru a avea o aplicație mai dinamică vom utiliza AJAX și puțin JavaScript

ltphpinclude_once(lsquologinphprsquo) try construieste cerere pentru baza de date facebook pentru mai multe detalii cititi documentatia FQL $fql = lsquoSELECT name sex pic_square uid FROM user WHERE uid IN (SELECT uid2 FROM friend WHERE uid1=rsquo $uid lsquo LIMIT 10) LIMIT 10rsquo $param = array( lsquomethodrsquo =gt lsquofqlqueryrsquo lsquoqueryrsquo =gt $fql lsquocallbackrsquo =gt lsquorsquo ) dupa acest rand $fqlResult va contine o lista cu 10 prieteni $fqlResult = $facebook-gtapi($param) foreach($fqlResult as $number =gt $friend) $friends = $numberrsquo ltimg src=rdquorsquo$friend[lsquopic_squarersquo]rsquordquogt lsquo$friend[lsquonamersquo]rsquoltbrgtrsquo alege un prieten aleator $friendNumber = rand(0 count($fqlResult)) pune imaginea si numele prietenului in variabila $str $str = lsquoUn prieten aleator ltimg src=rdquorsquo$fqlResult[$friendNumber][lsquopic_squarersquo]rsquordquogt lsquo$fqlResult[$friendNumber][lsquonamersquo]

catch(Exception $e) echo lsquoException lsquo$e

gt

13

lthtmlgtltheadgtltscript type=rdquotextjavascriptrdquo src=rdquohttpajaxgoogleapiscomajaxlibsjquery14jqueryminjsrdquogtltscriptgtltscriptgtfunctia JavaScriptcare trimite datele pentru publicare prin AJAX si arata raspunsul de la pagina ajaxphpfunction updateStatus() var status = lsquoHello worldrsquo $ajax( type ldquoPOSTrdquo url ldquolt echo $baseurlrsquoajaxphprsquo gtrdquo data ldquostatus=rdquo + status + ldquoamptarget=ltphp echo $fqlResult[$friendNumber][lsquouidrsquo] gtrdquo success function(msg) alert(msg) error function(msg) alert(msg) )

ltscriptgtltheadgt

ltbodygtltphp afiseaza imaginea si numele prietenului echo $strgtltinput type=rdquobuttonrdquo value=rdquoPublica un mesajrdquo onclick=rdquoupdateStatus()rdquo gtltbodygtlthtmlgt

14

Ultimul fișier este numit ajaxphp și este fișierul care face publicarea mesajelor

ltphpinclude_once(lsquologinphprsquo)

construieste mesajul care poate contine si imagini si include linkul catre aplicatie$attachment = array(lsquonamersquo =gt lsquoAplicatie testrsquo lsquocaptionrsquo =gt $_REQUEST[lsquostatusrsquo] lsquohrefrsquo =gt lsquohttpappsfacebookcomoricenumersquo lsquodescriptionrsquo =gt lsquorsquo ) $attachment = json_encode($attachment)

try seteaza destinatia mesajul si utilizatorul care publica $param = array( lsquomethodrsquo =gt lsquostreampublishrsquo lsquocallbackrsquo =gt lsquorsquo lsquoattachmentrsquo =gt $attachment lsquouidrsquo =gt $uid lsquotarget_idrsquo =gt $_REQUEST[lsquotargetrsquo] ) trimite mesajul $apiResult = $facebook-gtapi($param) catch(Exception $e) echo lsquoException lsquo$e

intoarce un mesaj catre utilizatorecho lsquostatus lsquo$_REQUEST[lsquostatusrsquo]

gt

Cam ăsta este tot codul pentru aplicație Acum fișierele trebuie transferate pe serverul de hosting după care putem testa

15

Capitolul 4Promovarea

Icircn acest capitol vom prezenta foarte pe scurt cacircteva metode de promovare a unei aplicaţii

O aplicaţie facebook este o aplicaţie socială nu se adresează unui singur utilizator se adresează grupurilor de prieteni De multe ori este de ajuns ca un singur membru al grupului să folosească aplicaţia de cacircteva ori pacircnă cacircnd aceasta este adoptată de majoritatea membrilor grupului şi este transmisă mai departe icircn alte grupuri Pentru ca o aplicaţie de facebook să fie de succes(să aibă cacirct mai mulți utilizatori) aceasta trebuie să fie promovată

Principalele două metode prin care promovam aplicaţiile de facebook sunt

1 Promovare internă prin autopromovare Folosind aplicaţia cacirct mai des astfel icircncat mesajele publicate pe pereții prietenilor să aducă cacirct mai multi utilizatori icircn pagina aplicaţiei

2 Promovare externă prin publicarea linkului la pagina aplicaţiei pe siteuri şi bloguri

16

Mulțumiri

Vă multumesc că ați parcursrăsfoit acest tutorial pacircnă aici și sper că a fost de folos

17

  • Introducere
  • Capitolul 1 Anatomia aplicaţiilor facebook
    • Relația facebook - aplicație
    • Etape icircn rularea unei aplicaţii
    • Structura aplicației
      • Capitolul 2 Icircnregistrarea aplicaţiilor
      • Capitolul 3 Hello world
      • Capitolul 4 Promovarea
Page 6: Aplicatii Facebook - Adrian Balcan - Www.isfree.org

6

Cererea datelorAplicaţiile au nevoie de informaţii de la utilizator pentru a genera conţinut Acestea sunt transferate de la facebook printr-un sistem de cerere - răspuns implementat icircn API

Dacă ne imaginam acest proces ca un dialog icircntre două persoane acesta ar arăta cam aşa

Utilizator Care este numele meuFacebook Adrian

Utilizator Care sunt prietenii meiFacebook Ana Ion Andrei

Utilizator Ce vacircrstă are IonFacebook 26

PublicareaDe multe ori aplicaţiile de facebook au nevoie să publice conţinut pe pereţii utilizatoru-lui Practic această publicare are două roluri 1 Afisarea unui rezultat trimiterea unui mesaj public 2 Autopromovarea Mesajul publicat conţine numele şi link-ul aplicaţiei astfel icircncacirct noi utilizatori pot accesa aplicaţia

7

Structura aplicației

Structura generală a unei aplicații este compusă din urmatoarele componente

1 Sistem de login (loginphp icircn cadrul exemplului de mai tacircrziu)2 Pagina principală pagina care o va vedea utilizatorul (indexphp)3 Sistem de publicare reprezentat printr-un fișier icircncărcat cu AJAX (ajaxphp)4 APIul facebook (facebookphp fişier descărcat de la adresa httpgithubcomfacebookphp-sdk )

Aceste fişiere vor fi prezentate mai pe larg icircn capitolul 3

8

Capitolul 2Icircnregistrarea aplicaţiilor

Icircn acest capitol vom vedea cum se icircnregistrează o aplicaţie pentru a apărea pe facebook

Mai icircnainte am introdus notiunea de dezvoltator persoana care creează aplicaţiilePentru a putea creea aplicaţii de facebook este necesară icircnscrierea icircn grupul dezvol-tatorilor Se poate face de la urmatorul link şi nu costă nimic httpwwwfacebookcomdevelopers

Pentru a creea o aplicaţie este necesara icircnregistrarea acesteia icircn aplicaţia developer icircn care intram odata cu icircnscrierea icircn grupul dezvoltatorilor

Această icircnregistrare este prezentată prin 3 paşi icircn urmatoarele pagini

Pasul 1 Alegerea numelui aplicaţiei

9

Pasul 2 Alegerea tipului aplicaţieiPe facebook aplicaţiile sunt de doua tipuri IFrame şi FBML Aplicaţiile IFrame generează un cod HTML care este afișat icircn interiorul unei pagini de facebook pe cacircnd aplicaţiile FBML generează un cod FBML (Limbaj de marcare icircn format XML specific facebook)

Icircn acest tutorial vom vorbi despre aplicaţii IFrame deoarece acest tip oferă mai multă flexibilitate dezvoltatorului

Pasul 3 Introducerea adresei de hostingIcircn primul capitol am spus că aplicaţiile de facebook sunt găzduite pe un server de host-ing al dezvoltatorului Adresa la care ele se găsesc va fi introdusă ca şi Canvas URL iar facebook va sti de unde să icircncarce aplicaţia

Pe langă aceşti paşi principali dezvoltatorul mai poate adauga logo descriere şi alte proprietăţi aplicaţiei

Odata cu inregistrarea aplicaţiei aceasta primeşte şi o pagină de profil unde se pot icircnscrie fanii iar dezvoltatorii pot adauga mesaje pentru ei

10

Capitolul 3Hello world

Icircn acest capitol vom face prima aplicaţie de facebook o aplicaţie simplă care are ca scop publicarea de mesaje pe pereții prietenilor

Facebook are un SDK pentru PHP pe care icircl vom utiliza la apelarea funcțiilor din API Este inclus icircn primul racircnd cu numele de facebookphp și poate fi descărcat de la adresa httpgithubcomfacebookphp-sdk

SDK = Software Development Kit

Pentru icircnceput vom prezenta fișierul loginphp

ltphprequire lsquofacebookphprsquo

adresa unde este stocata aplicatia serverul de hosting$baseurl = lsquohttpsiteulmeucomadriantestapplicationrsquo

adresa aplicației de pe facebook unde utilizatorii vor accesa aplicația$appurl = lsquohttpappsfacebookcomoricenumersquo

datele de identificare ale aplicației care au fost primite la icircnregistrarea acesteia$config = array( lsquoappIdrsquo =gt lsquo148314685203334rsquo lsquosecretrsquo =gt lsquo98c8930a6af3c8304401c550ee7b1cabrsquo lsquocookiersquo =gt true) $facebook = new Facebook($config)

$session = $facebook-gtgetSession()

logarea + cererea de permisiuni$loginUrl = $facebook-gtgetLoginUrl( array( lsquocanvasrsquo =gt 1 lsquofbconnectrsquo =gt 0 lsquoreq_permsrsquo =gt lsquoemailpublish_streamstatus_updateuser_birthdayuser_locationuser_work_historyrsquo ))

11

$me = null Session based API callif ($session) try $uid = $facebook-gtgetUser() $me = $facebook-gtapi(lsquomersquo) catch (FacebookApiException $e) error_log($e 3 lsquoerrorslogrsquo) echo lsquoltscript type=rdquotextjavascriptrdquogttoplocationhref = rsquorsquo$loginUrlrsquorsquoltscriptgtrsquo exit else echo lsquoltscript type=rdquotextjavascriptrdquogttoplocationhref = rsquorsquo$loginUrlrsquorsquoltscriptgtrsquo exitgt

După cum ați observat icircn fișierul loginphp am introdus și datele de identificare ale aplicației care le-am primit la icircnregistrarea acesteia

12

Icircn continuare vom prezenta fișierul indexphp Acest fișier este cel al carui conținut generează ceea ce vede utilizatorul interfaţa Pentru utilizator este foarte important ca interfaţa să fie simplă şi cacirct mai intuitivă Pentru a avea o aplicație mai dinamică vom utiliza AJAX și puțin JavaScript

ltphpinclude_once(lsquologinphprsquo) try construieste cerere pentru baza de date facebook pentru mai multe detalii cititi documentatia FQL $fql = lsquoSELECT name sex pic_square uid FROM user WHERE uid IN (SELECT uid2 FROM friend WHERE uid1=rsquo $uid lsquo LIMIT 10) LIMIT 10rsquo $param = array( lsquomethodrsquo =gt lsquofqlqueryrsquo lsquoqueryrsquo =gt $fql lsquocallbackrsquo =gt lsquorsquo ) dupa acest rand $fqlResult va contine o lista cu 10 prieteni $fqlResult = $facebook-gtapi($param) foreach($fqlResult as $number =gt $friend) $friends = $numberrsquo ltimg src=rdquorsquo$friend[lsquopic_squarersquo]rsquordquogt lsquo$friend[lsquonamersquo]rsquoltbrgtrsquo alege un prieten aleator $friendNumber = rand(0 count($fqlResult)) pune imaginea si numele prietenului in variabila $str $str = lsquoUn prieten aleator ltimg src=rdquorsquo$fqlResult[$friendNumber][lsquopic_squarersquo]rsquordquogt lsquo$fqlResult[$friendNumber][lsquonamersquo]

catch(Exception $e) echo lsquoException lsquo$e

gt

13

lthtmlgtltheadgtltscript type=rdquotextjavascriptrdquo src=rdquohttpajaxgoogleapiscomajaxlibsjquery14jqueryminjsrdquogtltscriptgtltscriptgtfunctia JavaScriptcare trimite datele pentru publicare prin AJAX si arata raspunsul de la pagina ajaxphpfunction updateStatus() var status = lsquoHello worldrsquo $ajax( type ldquoPOSTrdquo url ldquolt echo $baseurlrsquoajaxphprsquo gtrdquo data ldquostatus=rdquo + status + ldquoamptarget=ltphp echo $fqlResult[$friendNumber][lsquouidrsquo] gtrdquo success function(msg) alert(msg) error function(msg) alert(msg) )

ltscriptgtltheadgt

ltbodygtltphp afiseaza imaginea si numele prietenului echo $strgtltinput type=rdquobuttonrdquo value=rdquoPublica un mesajrdquo onclick=rdquoupdateStatus()rdquo gtltbodygtlthtmlgt

14

Ultimul fișier este numit ajaxphp și este fișierul care face publicarea mesajelor

ltphpinclude_once(lsquologinphprsquo)

construieste mesajul care poate contine si imagini si include linkul catre aplicatie$attachment = array(lsquonamersquo =gt lsquoAplicatie testrsquo lsquocaptionrsquo =gt $_REQUEST[lsquostatusrsquo] lsquohrefrsquo =gt lsquohttpappsfacebookcomoricenumersquo lsquodescriptionrsquo =gt lsquorsquo ) $attachment = json_encode($attachment)

try seteaza destinatia mesajul si utilizatorul care publica $param = array( lsquomethodrsquo =gt lsquostreampublishrsquo lsquocallbackrsquo =gt lsquorsquo lsquoattachmentrsquo =gt $attachment lsquouidrsquo =gt $uid lsquotarget_idrsquo =gt $_REQUEST[lsquotargetrsquo] ) trimite mesajul $apiResult = $facebook-gtapi($param) catch(Exception $e) echo lsquoException lsquo$e

intoarce un mesaj catre utilizatorecho lsquostatus lsquo$_REQUEST[lsquostatusrsquo]

gt

Cam ăsta este tot codul pentru aplicație Acum fișierele trebuie transferate pe serverul de hosting după care putem testa

15

Capitolul 4Promovarea

Icircn acest capitol vom prezenta foarte pe scurt cacircteva metode de promovare a unei aplicaţii

O aplicaţie facebook este o aplicaţie socială nu se adresează unui singur utilizator se adresează grupurilor de prieteni De multe ori este de ajuns ca un singur membru al grupului să folosească aplicaţia de cacircteva ori pacircnă cacircnd aceasta este adoptată de majoritatea membrilor grupului şi este transmisă mai departe icircn alte grupuri Pentru ca o aplicaţie de facebook să fie de succes(să aibă cacirct mai mulți utilizatori) aceasta trebuie să fie promovată

Principalele două metode prin care promovam aplicaţiile de facebook sunt

1 Promovare internă prin autopromovare Folosind aplicaţia cacirct mai des astfel icircncat mesajele publicate pe pereții prietenilor să aducă cacirct mai multi utilizatori icircn pagina aplicaţiei

2 Promovare externă prin publicarea linkului la pagina aplicaţiei pe siteuri şi bloguri

16

Mulțumiri

Vă multumesc că ați parcursrăsfoit acest tutorial pacircnă aici și sper că a fost de folos

17

  • Introducere
  • Capitolul 1 Anatomia aplicaţiilor facebook
    • Relația facebook - aplicație
    • Etape icircn rularea unei aplicaţii
    • Structura aplicației
      • Capitolul 2 Icircnregistrarea aplicaţiilor
      • Capitolul 3 Hello world
      • Capitolul 4 Promovarea
Page 7: Aplicatii Facebook - Adrian Balcan - Www.isfree.org

7

Structura aplicației

Structura generală a unei aplicații este compusă din urmatoarele componente

1 Sistem de login (loginphp icircn cadrul exemplului de mai tacircrziu)2 Pagina principală pagina care o va vedea utilizatorul (indexphp)3 Sistem de publicare reprezentat printr-un fișier icircncărcat cu AJAX (ajaxphp)4 APIul facebook (facebookphp fişier descărcat de la adresa httpgithubcomfacebookphp-sdk )

Aceste fişiere vor fi prezentate mai pe larg icircn capitolul 3

8

Capitolul 2Icircnregistrarea aplicaţiilor

Icircn acest capitol vom vedea cum se icircnregistrează o aplicaţie pentru a apărea pe facebook

Mai icircnainte am introdus notiunea de dezvoltator persoana care creează aplicaţiilePentru a putea creea aplicaţii de facebook este necesară icircnscrierea icircn grupul dezvol-tatorilor Se poate face de la urmatorul link şi nu costă nimic httpwwwfacebookcomdevelopers

Pentru a creea o aplicaţie este necesara icircnregistrarea acesteia icircn aplicaţia developer icircn care intram odata cu icircnscrierea icircn grupul dezvoltatorilor

Această icircnregistrare este prezentată prin 3 paşi icircn urmatoarele pagini

Pasul 1 Alegerea numelui aplicaţiei

9

Pasul 2 Alegerea tipului aplicaţieiPe facebook aplicaţiile sunt de doua tipuri IFrame şi FBML Aplicaţiile IFrame generează un cod HTML care este afișat icircn interiorul unei pagini de facebook pe cacircnd aplicaţiile FBML generează un cod FBML (Limbaj de marcare icircn format XML specific facebook)

Icircn acest tutorial vom vorbi despre aplicaţii IFrame deoarece acest tip oferă mai multă flexibilitate dezvoltatorului

Pasul 3 Introducerea adresei de hostingIcircn primul capitol am spus că aplicaţiile de facebook sunt găzduite pe un server de host-ing al dezvoltatorului Adresa la care ele se găsesc va fi introdusă ca şi Canvas URL iar facebook va sti de unde să icircncarce aplicaţia

Pe langă aceşti paşi principali dezvoltatorul mai poate adauga logo descriere şi alte proprietăţi aplicaţiei

Odata cu inregistrarea aplicaţiei aceasta primeşte şi o pagină de profil unde se pot icircnscrie fanii iar dezvoltatorii pot adauga mesaje pentru ei

10

Capitolul 3Hello world

Icircn acest capitol vom face prima aplicaţie de facebook o aplicaţie simplă care are ca scop publicarea de mesaje pe pereții prietenilor

Facebook are un SDK pentru PHP pe care icircl vom utiliza la apelarea funcțiilor din API Este inclus icircn primul racircnd cu numele de facebookphp și poate fi descărcat de la adresa httpgithubcomfacebookphp-sdk

SDK = Software Development Kit

Pentru icircnceput vom prezenta fișierul loginphp

ltphprequire lsquofacebookphprsquo

adresa unde este stocata aplicatia serverul de hosting$baseurl = lsquohttpsiteulmeucomadriantestapplicationrsquo

adresa aplicației de pe facebook unde utilizatorii vor accesa aplicația$appurl = lsquohttpappsfacebookcomoricenumersquo

datele de identificare ale aplicației care au fost primite la icircnregistrarea acesteia$config = array( lsquoappIdrsquo =gt lsquo148314685203334rsquo lsquosecretrsquo =gt lsquo98c8930a6af3c8304401c550ee7b1cabrsquo lsquocookiersquo =gt true) $facebook = new Facebook($config)

$session = $facebook-gtgetSession()

logarea + cererea de permisiuni$loginUrl = $facebook-gtgetLoginUrl( array( lsquocanvasrsquo =gt 1 lsquofbconnectrsquo =gt 0 lsquoreq_permsrsquo =gt lsquoemailpublish_streamstatus_updateuser_birthdayuser_locationuser_work_historyrsquo ))

11

$me = null Session based API callif ($session) try $uid = $facebook-gtgetUser() $me = $facebook-gtapi(lsquomersquo) catch (FacebookApiException $e) error_log($e 3 lsquoerrorslogrsquo) echo lsquoltscript type=rdquotextjavascriptrdquogttoplocationhref = rsquorsquo$loginUrlrsquorsquoltscriptgtrsquo exit else echo lsquoltscript type=rdquotextjavascriptrdquogttoplocationhref = rsquorsquo$loginUrlrsquorsquoltscriptgtrsquo exitgt

După cum ați observat icircn fișierul loginphp am introdus și datele de identificare ale aplicației care le-am primit la icircnregistrarea acesteia

12

Icircn continuare vom prezenta fișierul indexphp Acest fișier este cel al carui conținut generează ceea ce vede utilizatorul interfaţa Pentru utilizator este foarte important ca interfaţa să fie simplă şi cacirct mai intuitivă Pentru a avea o aplicație mai dinamică vom utiliza AJAX și puțin JavaScript

ltphpinclude_once(lsquologinphprsquo) try construieste cerere pentru baza de date facebook pentru mai multe detalii cititi documentatia FQL $fql = lsquoSELECT name sex pic_square uid FROM user WHERE uid IN (SELECT uid2 FROM friend WHERE uid1=rsquo $uid lsquo LIMIT 10) LIMIT 10rsquo $param = array( lsquomethodrsquo =gt lsquofqlqueryrsquo lsquoqueryrsquo =gt $fql lsquocallbackrsquo =gt lsquorsquo ) dupa acest rand $fqlResult va contine o lista cu 10 prieteni $fqlResult = $facebook-gtapi($param) foreach($fqlResult as $number =gt $friend) $friends = $numberrsquo ltimg src=rdquorsquo$friend[lsquopic_squarersquo]rsquordquogt lsquo$friend[lsquonamersquo]rsquoltbrgtrsquo alege un prieten aleator $friendNumber = rand(0 count($fqlResult)) pune imaginea si numele prietenului in variabila $str $str = lsquoUn prieten aleator ltimg src=rdquorsquo$fqlResult[$friendNumber][lsquopic_squarersquo]rsquordquogt lsquo$fqlResult[$friendNumber][lsquonamersquo]

catch(Exception $e) echo lsquoException lsquo$e

gt

13

lthtmlgtltheadgtltscript type=rdquotextjavascriptrdquo src=rdquohttpajaxgoogleapiscomajaxlibsjquery14jqueryminjsrdquogtltscriptgtltscriptgtfunctia JavaScriptcare trimite datele pentru publicare prin AJAX si arata raspunsul de la pagina ajaxphpfunction updateStatus() var status = lsquoHello worldrsquo $ajax( type ldquoPOSTrdquo url ldquolt echo $baseurlrsquoajaxphprsquo gtrdquo data ldquostatus=rdquo + status + ldquoamptarget=ltphp echo $fqlResult[$friendNumber][lsquouidrsquo] gtrdquo success function(msg) alert(msg) error function(msg) alert(msg) )

ltscriptgtltheadgt

ltbodygtltphp afiseaza imaginea si numele prietenului echo $strgtltinput type=rdquobuttonrdquo value=rdquoPublica un mesajrdquo onclick=rdquoupdateStatus()rdquo gtltbodygtlthtmlgt

14

Ultimul fișier este numit ajaxphp și este fișierul care face publicarea mesajelor

ltphpinclude_once(lsquologinphprsquo)

construieste mesajul care poate contine si imagini si include linkul catre aplicatie$attachment = array(lsquonamersquo =gt lsquoAplicatie testrsquo lsquocaptionrsquo =gt $_REQUEST[lsquostatusrsquo] lsquohrefrsquo =gt lsquohttpappsfacebookcomoricenumersquo lsquodescriptionrsquo =gt lsquorsquo ) $attachment = json_encode($attachment)

try seteaza destinatia mesajul si utilizatorul care publica $param = array( lsquomethodrsquo =gt lsquostreampublishrsquo lsquocallbackrsquo =gt lsquorsquo lsquoattachmentrsquo =gt $attachment lsquouidrsquo =gt $uid lsquotarget_idrsquo =gt $_REQUEST[lsquotargetrsquo] ) trimite mesajul $apiResult = $facebook-gtapi($param) catch(Exception $e) echo lsquoException lsquo$e

intoarce un mesaj catre utilizatorecho lsquostatus lsquo$_REQUEST[lsquostatusrsquo]

gt

Cam ăsta este tot codul pentru aplicație Acum fișierele trebuie transferate pe serverul de hosting după care putem testa

15

Capitolul 4Promovarea

Icircn acest capitol vom prezenta foarte pe scurt cacircteva metode de promovare a unei aplicaţii

O aplicaţie facebook este o aplicaţie socială nu se adresează unui singur utilizator se adresează grupurilor de prieteni De multe ori este de ajuns ca un singur membru al grupului să folosească aplicaţia de cacircteva ori pacircnă cacircnd aceasta este adoptată de majoritatea membrilor grupului şi este transmisă mai departe icircn alte grupuri Pentru ca o aplicaţie de facebook să fie de succes(să aibă cacirct mai mulți utilizatori) aceasta trebuie să fie promovată

Principalele două metode prin care promovam aplicaţiile de facebook sunt

1 Promovare internă prin autopromovare Folosind aplicaţia cacirct mai des astfel icircncat mesajele publicate pe pereții prietenilor să aducă cacirct mai multi utilizatori icircn pagina aplicaţiei

2 Promovare externă prin publicarea linkului la pagina aplicaţiei pe siteuri şi bloguri

16

Mulțumiri

Vă multumesc că ați parcursrăsfoit acest tutorial pacircnă aici și sper că a fost de folos

17

  • Introducere
  • Capitolul 1 Anatomia aplicaţiilor facebook
    • Relația facebook - aplicație
    • Etape icircn rularea unei aplicaţii
    • Structura aplicației
      • Capitolul 2 Icircnregistrarea aplicaţiilor
      • Capitolul 3 Hello world
      • Capitolul 4 Promovarea
Page 8: Aplicatii Facebook - Adrian Balcan - Www.isfree.org

8

Capitolul 2Icircnregistrarea aplicaţiilor

Icircn acest capitol vom vedea cum se icircnregistrează o aplicaţie pentru a apărea pe facebook

Mai icircnainte am introdus notiunea de dezvoltator persoana care creează aplicaţiilePentru a putea creea aplicaţii de facebook este necesară icircnscrierea icircn grupul dezvol-tatorilor Se poate face de la urmatorul link şi nu costă nimic httpwwwfacebookcomdevelopers

Pentru a creea o aplicaţie este necesara icircnregistrarea acesteia icircn aplicaţia developer icircn care intram odata cu icircnscrierea icircn grupul dezvoltatorilor

Această icircnregistrare este prezentată prin 3 paşi icircn urmatoarele pagini

Pasul 1 Alegerea numelui aplicaţiei

9

Pasul 2 Alegerea tipului aplicaţieiPe facebook aplicaţiile sunt de doua tipuri IFrame şi FBML Aplicaţiile IFrame generează un cod HTML care este afișat icircn interiorul unei pagini de facebook pe cacircnd aplicaţiile FBML generează un cod FBML (Limbaj de marcare icircn format XML specific facebook)

Icircn acest tutorial vom vorbi despre aplicaţii IFrame deoarece acest tip oferă mai multă flexibilitate dezvoltatorului

Pasul 3 Introducerea adresei de hostingIcircn primul capitol am spus că aplicaţiile de facebook sunt găzduite pe un server de host-ing al dezvoltatorului Adresa la care ele se găsesc va fi introdusă ca şi Canvas URL iar facebook va sti de unde să icircncarce aplicaţia

Pe langă aceşti paşi principali dezvoltatorul mai poate adauga logo descriere şi alte proprietăţi aplicaţiei

Odata cu inregistrarea aplicaţiei aceasta primeşte şi o pagină de profil unde se pot icircnscrie fanii iar dezvoltatorii pot adauga mesaje pentru ei

10

Capitolul 3Hello world

Icircn acest capitol vom face prima aplicaţie de facebook o aplicaţie simplă care are ca scop publicarea de mesaje pe pereții prietenilor

Facebook are un SDK pentru PHP pe care icircl vom utiliza la apelarea funcțiilor din API Este inclus icircn primul racircnd cu numele de facebookphp și poate fi descărcat de la adresa httpgithubcomfacebookphp-sdk

SDK = Software Development Kit

Pentru icircnceput vom prezenta fișierul loginphp

ltphprequire lsquofacebookphprsquo

adresa unde este stocata aplicatia serverul de hosting$baseurl = lsquohttpsiteulmeucomadriantestapplicationrsquo

adresa aplicației de pe facebook unde utilizatorii vor accesa aplicația$appurl = lsquohttpappsfacebookcomoricenumersquo

datele de identificare ale aplicației care au fost primite la icircnregistrarea acesteia$config = array( lsquoappIdrsquo =gt lsquo148314685203334rsquo lsquosecretrsquo =gt lsquo98c8930a6af3c8304401c550ee7b1cabrsquo lsquocookiersquo =gt true) $facebook = new Facebook($config)

$session = $facebook-gtgetSession()

logarea + cererea de permisiuni$loginUrl = $facebook-gtgetLoginUrl( array( lsquocanvasrsquo =gt 1 lsquofbconnectrsquo =gt 0 lsquoreq_permsrsquo =gt lsquoemailpublish_streamstatus_updateuser_birthdayuser_locationuser_work_historyrsquo ))

11

$me = null Session based API callif ($session) try $uid = $facebook-gtgetUser() $me = $facebook-gtapi(lsquomersquo) catch (FacebookApiException $e) error_log($e 3 lsquoerrorslogrsquo) echo lsquoltscript type=rdquotextjavascriptrdquogttoplocationhref = rsquorsquo$loginUrlrsquorsquoltscriptgtrsquo exit else echo lsquoltscript type=rdquotextjavascriptrdquogttoplocationhref = rsquorsquo$loginUrlrsquorsquoltscriptgtrsquo exitgt

După cum ați observat icircn fișierul loginphp am introdus și datele de identificare ale aplicației care le-am primit la icircnregistrarea acesteia

12

Icircn continuare vom prezenta fișierul indexphp Acest fișier este cel al carui conținut generează ceea ce vede utilizatorul interfaţa Pentru utilizator este foarte important ca interfaţa să fie simplă şi cacirct mai intuitivă Pentru a avea o aplicație mai dinamică vom utiliza AJAX și puțin JavaScript

ltphpinclude_once(lsquologinphprsquo) try construieste cerere pentru baza de date facebook pentru mai multe detalii cititi documentatia FQL $fql = lsquoSELECT name sex pic_square uid FROM user WHERE uid IN (SELECT uid2 FROM friend WHERE uid1=rsquo $uid lsquo LIMIT 10) LIMIT 10rsquo $param = array( lsquomethodrsquo =gt lsquofqlqueryrsquo lsquoqueryrsquo =gt $fql lsquocallbackrsquo =gt lsquorsquo ) dupa acest rand $fqlResult va contine o lista cu 10 prieteni $fqlResult = $facebook-gtapi($param) foreach($fqlResult as $number =gt $friend) $friends = $numberrsquo ltimg src=rdquorsquo$friend[lsquopic_squarersquo]rsquordquogt lsquo$friend[lsquonamersquo]rsquoltbrgtrsquo alege un prieten aleator $friendNumber = rand(0 count($fqlResult)) pune imaginea si numele prietenului in variabila $str $str = lsquoUn prieten aleator ltimg src=rdquorsquo$fqlResult[$friendNumber][lsquopic_squarersquo]rsquordquogt lsquo$fqlResult[$friendNumber][lsquonamersquo]

catch(Exception $e) echo lsquoException lsquo$e

gt

13

lthtmlgtltheadgtltscript type=rdquotextjavascriptrdquo src=rdquohttpajaxgoogleapiscomajaxlibsjquery14jqueryminjsrdquogtltscriptgtltscriptgtfunctia JavaScriptcare trimite datele pentru publicare prin AJAX si arata raspunsul de la pagina ajaxphpfunction updateStatus() var status = lsquoHello worldrsquo $ajax( type ldquoPOSTrdquo url ldquolt echo $baseurlrsquoajaxphprsquo gtrdquo data ldquostatus=rdquo + status + ldquoamptarget=ltphp echo $fqlResult[$friendNumber][lsquouidrsquo] gtrdquo success function(msg) alert(msg) error function(msg) alert(msg) )

ltscriptgtltheadgt

ltbodygtltphp afiseaza imaginea si numele prietenului echo $strgtltinput type=rdquobuttonrdquo value=rdquoPublica un mesajrdquo onclick=rdquoupdateStatus()rdquo gtltbodygtlthtmlgt

14

Ultimul fișier este numit ajaxphp și este fișierul care face publicarea mesajelor

ltphpinclude_once(lsquologinphprsquo)

construieste mesajul care poate contine si imagini si include linkul catre aplicatie$attachment = array(lsquonamersquo =gt lsquoAplicatie testrsquo lsquocaptionrsquo =gt $_REQUEST[lsquostatusrsquo] lsquohrefrsquo =gt lsquohttpappsfacebookcomoricenumersquo lsquodescriptionrsquo =gt lsquorsquo ) $attachment = json_encode($attachment)

try seteaza destinatia mesajul si utilizatorul care publica $param = array( lsquomethodrsquo =gt lsquostreampublishrsquo lsquocallbackrsquo =gt lsquorsquo lsquoattachmentrsquo =gt $attachment lsquouidrsquo =gt $uid lsquotarget_idrsquo =gt $_REQUEST[lsquotargetrsquo] ) trimite mesajul $apiResult = $facebook-gtapi($param) catch(Exception $e) echo lsquoException lsquo$e

intoarce un mesaj catre utilizatorecho lsquostatus lsquo$_REQUEST[lsquostatusrsquo]

gt

Cam ăsta este tot codul pentru aplicație Acum fișierele trebuie transferate pe serverul de hosting după care putem testa

15

Capitolul 4Promovarea

Icircn acest capitol vom prezenta foarte pe scurt cacircteva metode de promovare a unei aplicaţii

O aplicaţie facebook este o aplicaţie socială nu se adresează unui singur utilizator se adresează grupurilor de prieteni De multe ori este de ajuns ca un singur membru al grupului să folosească aplicaţia de cacircteva ori pacircnă cacircnd aceasta este adoptată de majoritatea membrilor grupului şi este transmisă mai departe icircn alte grupuri Pentru ca o aplicaţie de facebook să fie de succes(să aibă cacirct mai mulți utilizatori) aceasta trebuie să fie promovată

Principalele două metode prin care promovam aplicaţiile de facebook sunt

1 Promovare internă prin autopromovare Folosind aplicaţia cacirct mai des astfel icircncat mesajele publicate pe pereții prietenilor să aducă cacirct mai multi utilizatori icircn pagina aplicaţiei

2 Promovare externă prin publicarea linkului la pagina aplicaţiei pe siteuri şi bloguri

16

Mulțumiri

Vă multumesc că ați parcursrăsfoit acest tutorial pacircnă aici și sper că a fost de folos

17

  • Introducere
  • Capitolul 1 Anatomia aplicaţiilor facebook
    • Relația facebook - aplicație
    • Etape icircn rularea unei aplicaţii
    • Structura aplicației
      • Capitolul 2 Icircnregistrarea aplicaţiilor
      • Capitolul 3 Hello world
      • Capitolul 4 Promovarea
Page 9: Aplicatii Facebook - Adrian Balcan - Www.isfree.org

9

Pasul 2 Alegerea tipului aplicaţieiPe facebook aplicaţiile sunt de doua tipuri IFrame şi FBML Aplicaţiile IFrame generează un cod HTML care este afișat icircn interiorul unei pagini de facebook pe cacircnd aplicaţiile FBML generează un cod FBML (Limbaj de marcare icircn format XML specific facebook)

Icircn acest tutorial vom vorbi despre aplicaţii IFrame deoarece acest tip oferă mai multă flexibilitate dezvoltatorului

Pasul 3 Introducerea adresei de hostingIcircn primul capitol am spus că aplicaţiile de facebook sunt găzduite pe un server de host-ing al dezvoltatorului Adresa la care ele se găsesc va fi introdusă ca şi Canvas URL iar facebook va sti de unde să icircncarce aplicaţia

Pe langă aceşti paşi principali dezvoltatorul mai poate adauga logo descriere şi alte proprietăţi aplicaţiei

Odata cu inregistrarea aplicaţiei aceasta primeşte şi o pagină de profil unde se pot icircnscrie fanii iar dezvoltatorii pot adauga mesaje pentru ei

10

Capitolul 3Hello world

Icircn acest capitol vom face prima aplicaţie de facebook o aplicaţie simplă care are ca scop publicarea de mesaje pe pereții prietenilor

Facebook are un SDK pentru PHP pe care icircl vom utiliza la apelarea funcțiilor din API Este inclus icircn primul racircnd cu numele de facebookphp și poate fi descărcat de la adresa httpgithubcomfacebookphp-sdk

SDK = Software Development Kit

Pentru icircnceput vom prezenta fișierul loginphp

ltphprequire lsquofacebookphprsquo

adresa unde este stocata aplicatia serverul de hosting$baseurl = lsquohttpsiteulmeucomadriantestapplicationrsquo

adresa aplicației de pe facebook unde utilizatorii vor accesa aplicația$appurl = lsquohttpappsfacebookcomoricenumersquo

datele de identificare ale aplicației care au fost primite la icircnregistrarea acesteia$config = array( lsquoappIdrsquo =gt lsquo148314685203334rsquo lsquosecretrsquo =gt lsquo98c8930a6af3c8304401c550ee7b1cabrsquo lsquocookiersquo =gt true) $facebook = new Facebook($config)

$session = $facebook-gtgetSession()

logarea + cererea de permisiuni$loginUrl = $facebook-gtgetLoginUrl( array( lsquocanvasrsquo =gt 1 lsquofbconnectrsquo =gt 0 lsquoreq_permsrsquo =gt lsquoemailpublish_streamstatus_updateuser_birthdayuser_locationuser_work_historyrsquo ))

11

$me = null Session based API callif ($session) try $uid = $facebook-gtgetUser() $me = $facebook-gtapi(lsquomersquo) catch (FacebookApiException $e) error_log($e 3 lsquoerrorslogrsquo) echo lsquoltscript type=rdquotextjavascriptrdquogttoplocationhref = rsquorsquo$loginUrlrsquorsquoltscriptgtrsquo exit else echo lsquoltscript type=rdquotextjavascriptrdquogttoplocationhref = rsquorsquo$loginUrlrsquorsquoltscriptgtrsquo exitgt

După cum ați observat icircn fișierul loginphp am introdus și datele de identificare ale aplicației care le-am primit la icircnregistrarea acesteia

12

Icircn continuare vom prezenta fișierul indexphp Acest fișier este cel al carui conținut generează ceea ce vede utilizatorul interfaţa Pentru utilizator este foarte important ca interfaţa să fie simplă şi cacirct mai intuitivă Pentru a avea o aplicație mai dinamică vom utiliza AJAX și puțin JavaScript

ltphpinclude_once(lsquologinphprsquo) try construieste cerere pentru baza de date facebook pentru mai multe detalii cititi documentatia FQL $fql = lsquoSELECT name sex pic_square uid FROM user WHERE uid IN (SELECT uid2 FROM friend WHERE uid1=rsquo $uid lsquo LIMIT 10) LIMIT 10rsquo $param = array( lsquomethodrsquo =gt lsquofqlqueryrsquo lsquoqueryrsquo =gt $fql lsquocallbackrsquo =gt lsquorsquo ) dupa acest rand $fqlResult va contine o lista cu 10 prieteni $fqlResult = $facebook-gtapi($param) foreach($fqlResult as $number =gt $friend) $friends = $numberrsquo ltimg src=rdquorsquo$friend[lsquopic_squarersquo]rsquordquogt lsquo$friend[lsquonamersquo]rsquoltbrgtrsquo alege un prieten aleator $friendNumber = rand(0 count($fqlResult)) pune imaginea si numele prietenului in variabila $str $str = lsquoUn prieten aleator ltimg src=rdquorsquo$fqlResult[$friendNumber][lsquopic_squarersquo]rsquordquogt lsquo$fqlResult[$friendNumber][lsquonamersquo]

catch(Exception $e) echo lsquoException lsquo$e

gt

13

lthtmlgtltheadgtltscript type=rdquotextjavascriptrdquo src=rdquohttpajaxgoogleapiscomajaxlibsjquery14jqueryminjsrdquogtltscriptgtltscriptgtfunctia JavaScriptcare trimite datele pentru publicare prin AJAX si arata raspunsul de la pagina ajaxphpfunction updateStatus() var status = lsquoHello worldrsquo $ajax( type ldquoPOSTrdquo url ldquolt echo $baseurlrsquoajaxphprsquo gtrdquo data ldquostatus=rdquo + status + ldquoamptarget=ltphp echo $fqlResult[$friendNumber][lsquouidrsquo] gtrdquo success function(msg) alert(msg) error function(msg) alert(msg) )

ltscriptgtltheadgt

ltbodygtltphp afiseaza imaginea si numele prietenului echo $strgtltinput type=rdquobuttonrdquo value=rdquoPublica un mesajrdquo onclick=rdquoupdateStatus()rdquo gtltbodygtlthtmlgt

14

Ultimul fișier este numit ajaxphp și este fișierul care face publicarea mesajelor

ltphpinclude_once(lsquologinphprsquo)

construieste mesajul care poate contine si imagini si include linkul catre aplicatie$attachment = array(lsquonamersquo =gt lsquoAplicatie testrsquo lsquocaptionrsquo =gt $_REQUEST[lsquostatusrsquo] lsquohrefrsquo =gt lsquohttpappsfacebookcomoricenumersquo lsquodescriptionrsquo =gt lsquorsquo ) $attachment = json_encode($attachment)

try seteaza destinatia mesajul si utilizatorul care publica $param = array( lsquomethodrsquo =gt lsquostreampublishrsquo lsquocallbackrsquo =gt lsquorsquo lsquoattachmentrsquo =gt $attachment lsquouidrsquo =gt $uid lsquotarget_idrsquo =gt $_REQUEST[lsquotargetrsquo] ) trimite mesajul $apiResult = $facebook-gtapi($param) catch(Exception $e) echo lsquoException lsquo$e

intoarce un mesaj catre utilizatorecho lsquostatus lsquo$_REQUEST[lsquostatusrsquo]

gt

Cam ăsta este tot codul pentru aplicație Acum fișierele trebuie transferate pe serverul de hosting după care putem testa

15

Capitolul 4Promovarea

Icircn acest capitol vom prezenta foarte pe scurt cacircteva metode de promovare a unei aplicaţii

O aplicaţie facebook este o aplicaţie socială nu se adresează unui singur utilizator se adresează grupurilor de prieteni De multe ori este de ajuns ca un singur membru al grupului să folosească aplicaţia de cacircteva ori pacircnă cacircnd aceasta este adoptată de majoritatea membrilor grupului şi este transmisă mai departe icircn alte grupuri Pentru ca o aplicaţie de facebook să fie de succes(să aibă cacirct mai mulți utilizatori) aceasta trebuie să fie promovată

Principalele două metode prin care promovam aplicaţiile de facebook sunt

1 Promovare internă prin autopromovare Folosind aplicaţia cacirct mai des astfel icircncat mesajele publicate pe pereții prietenilor să aducă cacirct mai multi utilizatori icircn pagina aplicaţiei

2 Promovare externă prin publicarea linkului la pagina aplicaţiei pe siteuri şi bloguri

16

Mulțumiri

Vă multumesc că ați parcursrăsfoit acest tutorial pacircnă aici și sper că a fost de folos

17

  • Introducere
  • Capitolul 1 Anatomia aplicaţiilor facebook
    • Relația facebook - aplicație
    • Etape icircn rularea unei aplicaţii
    • Structura aplicației
      • Capitolul 2 Icircnregistrarea aplicaţiilor
      • Capitolul 3 Hello world
      • Capitolul 4 Promovarea
Page 10: Aplicatii Facebook - Adrian Balcan - Www.isfree.org

10

Capitolul 3Hello world

Icircn acest capitol vom face prima aplicaţie de facebook o aplicaţie simplă care are ca scop publicarea de mesaje pe pereții prietenilor

Facebook are un SDK pentru PHP pe care icircl vom utiliza la apelarea funcțiilor din API Este inclus icircn primul racircnd cu numele de facebookphp și poate fi descărcat de la adresa httpgithubcomfacebookphp-sdk

SDK = Software Development Kit

Pentru icircnceput vom prezenta fișierul loginphp

ltphprequire lsquofacebookphprsquo

adresa unde este stocata aplicatia serverul de hosting$baseurl = lsquohttpsiteulmeucomadriantestapplicationrsquo

adresa aplicației de pe facebook unde utilizatorii vor accesa aplicația$appurl = lsquohttpappsfacebookcomoricenumersquo

datele de identificare ale aplicației care au fost primite la icircnregistrarea acesteia$config = array( lsquoappIdrsquo =gt lsquo148314685203334rsquo lsquosecretrsquo =gt lsquo98c8930a6af3c8304401c550ee7b1cabrsquo lsquocookiersquo =gt true) $facebook = new Facebook($config)

$session = $facebook-gtgetSession()

logarea + cererea de permisiuni$loginUrl = $facebook-gtgetLoginUrl( array( lsquocanvasrsquo =gt 1 lsquofbconnectrsquo =gt 0 lsquoreq_permsrsquo =gt lsquoemailpublish_streamstatus_updateuser_birthdayuser_locationuser_work_historyrsquo ))

11

$me = null Session based API callif ($session) try $uid = $facebook-gtgetUser() $me = $facebook-gtapi(lsquomersquo) catch (FacebookApiException $e) error_log($e 3 lsquoerrorslogrsquo) echo lsquoltscript type=rdquotextjavascriptrdquogttoplocationhref = rsquorsquo$loginUrlrsquorsquoltscriptgtrsquo exit else echo lsquoltscript type=rdquotextjavascriptrdquogttoplocationhref = rsquorsquo$loginUrlrsquorsquoltscriptgtrsquo exitgt

După cum ați observat icircn fișierul loginphp am introdus și datele de identificare ale aplicației care le-am primit la icircnregistrarea acesteia

12

Icircn continuare vom prezenta fișierul indexphp Acest fișier este cel al carui conținut generează ceea ce vede utilizatorul interfaţa Pentru utilizator este foarte important ca interfaţa să fie simplă şi cacirct mai intuitivă Pentru a avea o aplicație mai dinamică vom utiliza AJAX și puțin JavaScript

ltphpinclude_once(lsquologinphprsquo) try construieste cerere pentru baza de date facebook pentru mai multe detalii cititi documentatia FQL $fql = lsquoSELECT name sex pic_square uid FROM user WHERE uid IN (SELECT uid2 FROM friend WHERE uid1=rsquo $uid lsquo LIMIT 10) LIMIT 10rsquo $param = array( lsquomethodrsquo =gt lsquofqlqueryrsquo lsquoqueryrsquo =gt $fql lsquocallbackrsquo =gt lsquorsquo ) dupa acest rand $fqlResult va contine o lista cu 10 prieteni $fqlResult = $facebook-gtapi($param) foreach($fqlResult as $number =gt $friend) $friends = $numberrsquo ltimg src=rdquorsquo$friend[lsquopic_squarersquo]rsquordquogt lsquo$friend[lsquonamersquo]rsquoltbrgtrsquo alege un prieten aleator $friendNumber = rand(0 count($fqlResult)) pune imaginea si numele prietenului in variabila $str $str = lsquoUn prieten aleator ltimg src=rdquorsquo$fqlResult[$friendNumber][lsquopic_squarersquo]rsquordquogt lsquo$fqlResult[$friendNumber][lsquonamersquo]

catch(Exception $e) echo lsquoException lsquo$e

gt

13

lthtmlgtltheadgtltscript type=rdquotextjavascriptrdquo src=rdquohttpajaxgoogleapiscomajaxlibsjquery14jqueryminjsrdquogtltscriptgtltscriptgtfunctia JavaScriptcare trimite datele pentru publicare prin AJAX si arata raspunsul de la pagina ajaxphpfunction updateStatus() var status = lsquoHello worldrsquo $ajax( type ldquoPOSTrdquo url ldquolt echo $baseurlrsquoajaxphprsquo gtrdquo data ldquostatus=rdquo + status + ldquoamptarget=ltphp echo $fqlResult[$friendNumber][lsquouidrsquo] gtrdquo success function(msg) alert(msg) error function(msg) alert(msg) )

ltscriptgtltheadgt

ltbodygtltphp afiseaza imaginea si numele prietenului echo $strgtltinput type=rdquobuttonrdquo value=rdquoPublica un mesajrdquo onclick=rdquoupdateStatus()rdquo gtltbodygtlthtmlgt

14

Ultimul fișier este numit ajaxphp și este fișierul care face publicarea mesajelor

ltphpinclude_once(lsquologinphprsquo)

construieste mesajul care poate contine si imagini si include linkul catre aplicatie$attachment = array(lsquonamersquo =gt lsquoAplicatie testrsquo lsquocaptionrsquo =gt $_REQUEST[lsquostatusrsquo] lsquohrefrsquo =gt lsquohttpappsfacebookcomoricenumersquo lsquodescriptionrsquo =gt lsquorsquo ) $attachment = json_encode($attachment)

try seteaza destinatia mesajul si utilizatorul care publica $param = array( lsquomethodrsquo =gt lsquostreampublishrsquo lsquocallbackrsquo =gt lsquorsquo lsquoattachmentrsquo =gt $attachment lsquouidrsquo =gt $uid lsquotarget_idrsquo =gt $_REQUEST[lsquotargetrsquo] ) trimite mesajul $apiResult = $facebook-gtapi($param) catch(Exception $e) echo lsquoException lsquo$e

intoarce un mesaj catre utilizatorecho lsquostatus lsquo$_REQUEST[lsquostatusrsquo]

gt

Cam ăsta este tot codul pentru aplicație Acum fișierele trebuie transferate pe serverul de hosting după care putem testa

15

Capitolul 4Promovarea

Icircn acest capitol vom prezenta foarte pe scurt cacircteva metode de promovare a unei aplicaţii

O aplicaţie facebook este o aplicaţie socială nu se adresează unui singur utilizator se adresează grupurilor de prieteni De multe ori este de ajuns ca un singur membru al grupului să folosească aplicaţia de cacircteva ori pacircnă cacircnd aceasta este adoptată de majoritatea membrilor grupului şi este transmisă mai departe icircn alte grupuri Pentru ca o aplicaţie de facebook să fie de succes(să aibă cacirct mai mulți utilizatori) aceasta trebuie să fie promovată

Principalele două metode prin care promovam aplicaţiile de facebook sunt

1 Promovare internă prin autopromovare Folosind aplicaţia cacirct mai des astfel icircncat mesajele publicate pe pereții prietenilor să aducă cacirct mai multi utilizatori icircn pagina aplicaţiei

2 Promovare externă prin publicarea linkului la pagina aplicaţiei pe siteuri şi bloguri

16

Mulțumiri

Vă multumesc că ați parcursrăsfoit acest tutorial pacircnă aici și sper că a fost de folos

17

  • Introducere
  • Capitolul 1 Anatomia aplicaţiilor facebook
    • Relația facebook - aplicație
    • Etape icircn rularea unei aplicaţii
    • Structura aplicației
      • Capitolul 2 Icircnregistrarea aplicaţiilor
      • Capitolul 3 Hello world
      • Capitolul 4 Promovarea
Page 11: Aplicatii Facebook - Adrian Balcan - Www.isfree.org

11

$me = null Session based API callif ($session) try $uid = $facebook-gtgetUser() $me = $facebook-gtapi(lsquomersquo) catch (FacebookApiException $e) error_log($e 3 lsquoerrorslogrsquo) echo lsquoltscript type=rdquotextjavascriptrdquogttoplocationhref = rsquorsquo$loginUrlrsquorsquoltscriptgtrsquo exit else echo lsquoltscript type=rdquotextjavascriptrdquogttoplocationhref = rsquorsquo$loginUrlrsquorsquoltscriptgtrsquo exitgt

După cum ați observat icircn fișierul loginphp am introdus și datele de identificare ale aplicației care le-am primit la icircnregistrarea acesteia

12

Icircn continuare vom prezenta fișierul indexphp Acest fișier este cel al carui conținut generează ceea ce vede utilizatorul interfaţa Pentru utilizator este foarte important ca interfaţa să fie simplă şi cacirct mai intuitivă Pentru a avea o aplicație mai dinamică vom utiliza AJAX și puțin JavaScript

ltphpinclude_once(lsquologinphprsquo) try construieste cerere pentru baza de date facebook pentru mai multe detalii cititi documentatia FQL $fql = lsquoSELECT name sex pic_square uid FROM user WHERE uid IN (SELECT uid2 FROM friend WHERE uid1=rsquo $uid lsquo LIMIT 10) LIMIT 10rsquo $param = array( lsquomethodrsquo =gt lsquofqlqueryrsquo lsquoqueryrsquo =gt $fql lsquocallbackrsquo =gt lsquorsquo ) dupa acest rand $fqlResult va contine o lista cu 10 prieteni $fqlResult = $facebook-gtapi($param) foreach($fqlResult as $number =gt $friend) $friends = $numberrsquo ltimg src=rdquorsquo$friend[lsquopic_squarersquo]rsquordquogt lsquo$friend[lsquonamersquo]rsquoltbrgtrsquo alege un prieten aleator $friendNumber = rand(0 count($fqlResult)) pune imaginea si numele prietenului in variabila $str $str = lsquoUn prieten aleator ltimg src=rdquorsquo$fqlResult[$friendNumber][lsquopic_squarersquo]rsquordquogt lsquo$fqlResult[$friendNumber][lsquonamersquo]

catch(Exception $e) echo lsquoException lsquo$e

gt

13

lthtmlgtltheadgtltscript type=rdquotextjavascriptrdquo src=rdquohttpajaxgoogleapiscomajaxlibsjquery14jqueryminjsrdquogtltscriptgtltscriptgtfunctia JavaScriptcare trimite datele pentru publicare prin AJAX si arata raspunsul de la pagina ajaxphpfunction updateStatus() var status = lsquoHello worldrsquo $ajax( type ldquoPOSTrdquo url ldquolt echo $baseurlrsquoajaxphprsquo gtrdquo data ldquostatus=rdquo + status + ldquoamptarget=ltphp echo $fqlResult[$friendNumber][lsquouidrsquo] gtrdquo success function(msg) alert(msg) error function(msg) alert(msg) )

ltscriptgtltheadgt

ltbodygtltphp afiseaza imaginea si numele prietenului echo $strgtltinput type=rdquobuttonrdquo value=rdquoPublica un mesajrdquo onclick=rdquoupdateStatus()rdquo gtltbodygtlthtmlgt

14

Ultimul fișier este numit ajaxphp și este fișierul care face publicarea mesajelor

ltphpinclude_once(lsquologinphprsquo)

construieste mesajul care poate contine si imagini si include linkul catre aplicatie$attachment = array(lsquonamersquo =gt lsquoAplicatie testrsquo lsquocaptionrsquo =gt $_REQUEST[lsquostatusrsquo] lsquohrefrsquo =gt lsquohttpappsfacebookcomoricenumersquo lsquodescriptionrsquo =gt lsquorsquo ) $attachment = json_encode($attachment)

try seteaza destinatia mesajul si utilizatorul care publica $param = array( lsquomethodrsquo =gt lsquostreampublishrsquo lsquocallbackrsquo =gt lsquorsquo lsquoattachmentrsquo =gt $attachment lsquouidrsquo =gt $uid lsquotarget_idrsquo =gt $_REQUEST[lsquotargetrsquo] ) trimite mesajul $apiResult = $facebook-gtapi($param) catch(Exception $e) echo lsquoException lsquo$e

intoarce un mesaj catre utilizatorecho lsquostatus lsquo$_REQUEST[lsquostatusrsquo]

gt

Cam ăsta este tot codul pentru aplicație Acum fișierele trebuie transferate pe serverul de hosting după care putem testa

15

Capitolul 4Promovarea

Icircn acest capitol vom prezenta foarte pe scurt cacircteva metode de promovare a unei aplicaţii

O aplicaţie facebook este o aplicaţie socială nu se adresează unui singur utilizator se adresează grupurilor de prieteni De multe ori este de ajuns ca un singur membru al grupului să folosească aplicaţia de cacircteva ori pacircnă cacircnd aceasta este adoptată de majoritatea membrilor grupului şi este transmisă mai departe icircn alte grupuri Pentru ca o aplicaţie de facebook să fie de succes(să aibă cacirct mai mulți utilizatori) aceasta trebuie să fie promovată

Principalele două metode prin care promovam aplicaţiile de facebook sunt

1 Promovare internă prin autopromovare Folosind aplicaţia cacirct mai des astfel icircncat mesajele publicate pe pereții prietenilor să aducă cacirct mai multi utilizatori icircn pagina aplicaţiei

2 Promovare externă prin publicarea linkului la pagina aplicaţiei pe siteuri şi bloguri

16

Mulțumiri

Vă multumesc că ați parcursrăsfoit acest tutorial pacircnă aici și sper că a fost de folos

17

  • Introducere
  • Capitolul 1 Anatomia aplicaţiilor facebook
    • Relația facebook - aplicație
    • Etape icircn rularea unei aplicaţii
    • Structura aplicației
      • Capitolul 2 Icircnregistrarea aplicaţiilor
      • Capitolul 3 Hello world
      • Capitolul 4 Promovarea
Page 12: Aplicatii Facebook - Adrian Balcan - Www.isfree.org

12

Icircn continuare vom prezenta fișierul indexphp Acest fișier este cel al carui conținut generează ceea ce vede utilizatorul interfaţa Pentru utilizator este foarte important ca interfaţa să fie simplă şi cacirct mai intuitivă Pentru a avea o aplicație mai dinamică vom utiliza AJAX și puțin JavaScript

ltphpinclude_once(lsquologinphprsquo) try construieste cerere pentru baza de date facebook pentru mai multe detalii cititi documentatia FQL $fql = lsquoSELECT name sex pic_square uid FROM user WHERE uid IN (SELECT uid2 FROM friend WHERE uid1=rsquo $uid lsquo LIMIT 10) LIMIT 10rsquo $param = array( lsquomethodrsquo =gt lsquofqlqueryrsquo lsquoqueryrsquo =gt $fql lsquocallbackrsquo =gt lsquorsquo ) dupa acest rand $fqlResult va contine o lista cu 10 prieteni $fqlResult = $facebook-gtapi($param) foreach($fqlResult as $number =gt $friend) $friends = $numberrsquo ltimg src=rdquorsquo$friend[lsquopic_squarersquo]rsquordquogt lsquo$friend[lsquonamersquo]rsquoltbrgtrsquo alege un prieten aleator $friendNumber = rand(0 count($fqlResult)) pune imaginea si numele prietenului in variabila $str $str = lsquoUn prieten aleator ltimg src=rdquorsquo$fqlResult[$friendNumber][lsquopic_squarersquo]rsquordquogt lsquo$fqlResult[$friendNumber][lsquonamersquo]

catch(Exception $e) echo lsquoException lsquo$e

gt

13

lthtmlgtltheadgtltscript type=rdquotextjavascriptrdquo src=rdquohttpajaxgoogleapiscomajaxlibsjquery14jqueryminjsrdquogtltscriptgtltscriptgtfunctia JavaScriptcare trimite datele pentru publicare prin AJAX si arata raspunsul de la pagina ajaxphpfunction updateStatus() var status = lsquoHello worldrsquo $ajax( type ldquoPOSTrdquo url ldquolt echo $baseurlrsquoajaxphprsquo gtrdquo data ldquostatus=rdquo + status + ldquoamptarget=ltphp echo $fqlResult[$friendNumber][lsquouidrsquo] gtrdquo success function(msg) alert(msg) error function(msg) alert(msg) )

ltscriptgtltheadgt

ltbodygtltphp afiseaza imaginea si numele prietenului echo $strgtltinput type=rdquobuttonrdquo value=rdquoPublica un mesajrdquo onclick=rdquoupdateStatus()rdquo gtltbodygtlthtmlgt

14

Ultimul fișier este numit ajaxphp și este fișierul care face publicarea mesajelor

ltphpinclude_once(lsquologinphprsquo)

construieste mesajul care poate contine si imagini si include linkul catre aplicatie$attachment = array(lsquonamersquo =gt lsquoAplicatie testrsquo lsquocaptionrsquo =gt $_REQUEST[lsquostatusrsquo] lsquohrefrsquo =gt lsquohttpappsfacebookcomoricenumersquo lsquodescriptionrsquo =gt lsquorsquo ) $attachment = json_encode($attachment)

try seteaza destinatia mesajul si utilizatorul care publica $param = array( lsquomethodrsquo =gt lsquostreampublishrsquo lsquocallbackrsquo =gt lsquorsquo lsquoattachmentrsquo =gt $attachment lsquouidrsquo =gt $uid lsquotarget_idrsquo =gt $_REQUEST[lsquotargetrsquo] ) trimite mesajul $apiResult = $facebook-gtapi($param) catch(Exception $e) echo lsquoException lsquo$e

intoarce un mesaj catre utilizatorecho lsquostatus lsquo$_REQUEST[lsquostatusrsquo]

gt

Cam ăsta este tot codul pentru aplicație Acum fișierele trebuie transferate pe serverul de hosting după care putem testa

15

Capitolul 4Promovarea

Icircn acest capitol vom prezenta foarte pe scurt cacircteva metode de promovare a unei aplicaţii

O aplicaţie facebook este o aplicaţie socială nu se adresează unui singur utilizator se adresează grupurilor de prieteni De multe ori este de ajuns ca un singur membru al grupului să folosească aplicaţia de cacircteva ori pacircnă cacircnd aceasta este adoptată de majoritatea membrilor grupului şi este transmisă mai departe icircn alte grupuri Pentru ca o aplicaţie de facebook să fie de succes(să aibă cacirct mai mulți utilizatori) aceasta trebuie să fie promovată

Principalele două metode prin care promovam aplicaţiile de facebook sunt

1 Promovare internă prin autopromovare Folosind aplicaţia cacirct mai des astfel icircncat mesajele publicate pe pereții prietenilor să aducă cacirct mai multi utilizatori icircn pagina aplicaţiei

2 Promovare externă prin publicarea linkului la pagina aplicaţiei pe siteuri şi bloguri

16

Mulțumiri

Vă multumesc că ați parcursrăsfoit acest tutorial pacircnă aici și sper că a fost de folos

17

  • Introducere
  • Capitolul 1 Anatomia aplicaţiilor facebook
    • Relația facebook - aplicație
    • Etape icircn rularea unei aplicaţii
    • Structura aplicației
      • Capitolul 2 Icircnregistrarea aplicaţiilor
      • Capitolul 3 Hello world
      • Capitolul 4 Promovarea
Page 13: Aplicatii Facebook - Adrian Balcan - Www.isfree.org

13

lthtmlgtltheadgtltscript type=rdquotextjavascriptrdquo src=rdquohttpajaxgoogleapiscomajaxlibsjquery14jqueryminjsrdquogtltscriptgtltscriptgtfunctia JavaScriptcare trimite datele pentru publicare prin AJAX si arata raspunsul de la pagina ajaxphpfunction updateStatus() var status = lsquoHello worldrsquo $ajax( type ldquoPOSTrdquo url ldquolt echo $baseurlrsquoajaxphprsquo gtrdquo data ldquostatus=rdquo + status + ldquoamptarget=ltphp echo $fqlResult[$friendNumber][lsquouidrsquo] gtrdquo success function(msg) alert(msg) error function(msg) alert(msg) )

ltscriptgtltheadgt

ltbodygtltphp afiseaza imaginea si numele prietenului echo $strgtltinput type=rdquobuttonrdquo value=rdquoPublica un mesajrdquo onclick=rdquoupdateStatus()rdquo gtltbodygtlthtmlgt

14

Ultimul fișier este numit ajaxphp și este fișierul care face publicarea mesajelor

ltphpinclude_once(lsquologinphprsquo)

construieste mesajul care poate contine si imagini si include linkul catre aplicatie$attachment = array(lsquonamersquo =gt lsquoAplicatie testrsquo lsquocaptionrsquo =gt $_REQUEST[lsquostatusrsquo] lsquohrefrsquo =gt lsquohttpappsfacebookcomoricenumersquo lsquodescriptionrsquo =gt lsquorsquo ) $attachment = json_encode($attachment)

try seteaza destinatia mesajul si utilizatorul care publica $param = array( lsquomethodrsquo =gt lsquostreampublishrsquo lsquocallbackrsquo =gt lsquorsquo lsquoattachmentrsquo =gt $attachment lsquouidrsquo =gt $uid lsquotarget_idrsquo =gt $_REQUEST[lsquotargetrsquo] ) trimite mesajul $apiResult = $facebook-gtapi($param) catch(Exception $e) echo lsquoException lsquo$e

intoarce un mesaj catre utilizatorecho lsquostatus lsquo$_REQUEST[lsquostatusrsquo]

gt

Cam ăsta este tot codul pentru aplicație Acum fișierele trebuie transferate pe serverul de hosting după care putem testa

15

Capitolul 4Promovarea

Icircn acest capitol vom prezenta foarte pe scurt cacircteva metode de promovare a unei aplicaţii

O aplicaţie facebook este o aplicaţie socială nu se adresează unui singur utilizator se adresează grupurilor de prieteni De multe ori este de ajuns ca un singur membru al grupului să folosească aplicaţia de cacircteva ori pacircnă cacircnd aceasta este adoptată de majoritatea membrilor grupului şi este transmisă mai departe icircn alte grupuri Pentru ca o aplicaţie de facebook să fie de succes(să aibă cacirct mai mulți utilizatori) aceasta trebuie să fie promovată

Principalele două metode prin care promovam aplicaţiile de facebook sunt

1 Promovare internă prin autopromovare Folosind aplicaţia cacirct mai des astfel icircncat mesajele publicate pe pereții prietenilor să aducă cacirct mai multi utilizatori icircn pagina aplicaţiei

2 Promovare externă prin publicarea linkului la pagina aplicaţiei pe siteuri şi bloguri

16

Mulțumiri

Vă multumesc că ați parcursrăsfoit acest tutorial pacircnă aici și sper că a fost de folos

17

  • Introducere
  • Capitolul 1 Anatomia aplicaţiilor facebook
    • Relația facebook - aplicație
    • Etape icircn rularea unei aplicaţii
    • Structura aplicației
      • Capitolul 2 Icircnregistrarea aplicaţiilor
      • Capitolul 3 Hello world
      • Capitolul 4 Promovarea
Page 14: Aplicatii Facebook - Adrian Balcan - Www.isfree.org

14

Ultimul fișier este numit ajaxphp și este fișierul care face publicarea mesajelor

ltphpinclude_once(lsquologinphprsquo)

construieste mesajul care poate contine si imagini si include linkul catre aplicatie$attachment = array(lsquonamersquo =gt lsquoAplicatie testrsquo lsquocaptionrsquo =gt $_REQUEST[lsquostatusrsquo] lsquohrefrsquo =gt lsquohttpappsfacebookcomoricenumersquo lsquodescriptionrsquo =gt lsquorsquo ) $attachment = json_encode($attachment)

try seteaza destinatia mesajul si utilizatorul care publica $param = array( lsquomethodrsquo =gt lsquostreampublishrsquo lsquocallbackrsquo =gt lsquorsquo lsquoattachmentrsquo =gt $attachment lsquouidrsquo =gt $uid lsquotarget_idrsquo =gt $_REQUEST[lsquotargetrsquo] ) trimite mesajul $apiResult = $facebook-gtapi($param) catch(Exception $e) echo lsquoException lsquo$e

intoarce un mesaj catre utilizatorecho lsquostatus lsquo$_REQUEST[lsquostatusrsquo]

gt

Cam ăsta este tot codul pentru aplicație Acum fișierele trebuie transferate pe serverul de hosting după care putem testa

15

Capitolul 4Promovarea

Icircn acest capitol vom prezenta foarte pe scurt cacircteva metode de promovare a unei aplicaţii

O aplicaţie facebook este o aplicaţie socială nu se adresează unui singur utilizator se adresează grupurilor de prieteni De multe ori este de ajuns ca un singur membru al grupului să folosească aplicaţia de cacircteva ori pacircnă cacircnd aceasta este adoptată de majoritatea membrilor grupului şi este transmisă mai departe icircn alte grupuri Pentru ca o aplicaţie de facebook să fie de succes(să aibă cacirct mai mulți utilizatori) aceasta trebuie să fie promovată

Principalele două metode prin care promovam aplicaţiile de facebook sunt

1 Promovare internă prin autopromovare Folosind aplicaţia cacirct mai des astfel icircncat mesajele publicate pe pereții prietenilor să aducă cacirct mai multi utilizatori icircn pagina aplicaţiei

2 Promovare externă prin publicarea linkului la pagina aplicaţiei pe siteuri şi bloguri

16

Mulțumiri

Vă multumesc că ați parcursrăsfoit acest tutorial pacircnă aici și sper că a fost de folos

17

  • Introducere
  • Capitolul 1 Anatomia aplicaţiilor facebook
    • Relația facebook - aplicație
    • Etape icircn rularea unei aplicaţii
    • Structura aplicației
      • Capitolul 2 Icircnregistrarea aplicaţiilor
      • Capitolul 3 Hello world
      • Capitolul 4 Promovarea
Page 15: Aplicatii Facebook - Adrian Balcan - Www.isfree.org

15

Capitolul 4Promovarea

Icircn acest capitol vom prezenta foarte pe scurt cacircteva metode de promovare a unei aplicaţii

O aplicaţie facebook este o aplicaţie socială nu se adresează unui singur utilizator se adresează grupurilor de prieteni De multe ori este de ajuns ca un singur membru al grupului să folosească aplicaţia de cacircteva ori pacircnă cacircnd aceasta este adoptată de majoritatea membrilor grupului şi este transmisă mai departe icircn alte grupuri Pentru ca o aplicaţie de facebook să fie de succes(să aibă cacirct mai mulți utilizatori) aceasta trebuie să fie promovată

Principalele două metode prin care promovam aplicaţiile de facebook sunt

1 Promovare internă prin autopromovare Folosind aplicaţia cacirct mai des astfel icircncat mesajele publicate pe pereții prietenilor să aducă cacirct mai multi utilizatori icircn pagina aplicaţiei

2 Promovare externă prin publicarea linkului la pagina aplicaţiei pe siteuri şi bloguri

16

Mulțumiri

Vă multumesc că ați parcursrăsfoit acest tutorial pacircnă aici și sper că a fost de folos

17

  • Introducere
  • Capitolul 1 Anatomia aplicaţiilor facebook
    • Relația facebook - aplicație
    • Etape icircn rularea unei aplicaţii
    • Structura aplicației
      • Capitolul 2 Icircnregistrarea aplicaţiilor
      • Capitolul 3 Hello world
      • Capitolul 4 Promovarea
Page 16: Aplicatii Facebook - Adrian Balcan - Www.isfree.org

16

Mulțumiri

Vă multumesc că ați parcursrăsfoit acest tutorial pacircnă aici și sper că a fost de folos

17

  • Introducere
  • Capitolul 1 Anatomia aplicaţiilor facebook
    • Relația facebook - aplicație
    • Etape icircn rularea unei aplicaţii
    • Structura aplicației
      • Capitolul 2 Icircnregistrarea aplicaţiilor
      • Capitolul 3 Hello world
      • Capitolul 4 Promovarea
Page 17: Aplicatii Facebook - Adrian Balcan - Www.isfree.org

17

  • Introducere
  • Capitolul 1 Anatomia aplicaţiilor facebook
    • Relația facebook - aplicație
    • Etape icircn rularea unei aplicaţii
    • Structura aplicației
      • Capitolul 2 Icircnregistrarea aplicaţiilor
      • Capitolul 3 Hello world
      • Capitolul 4 Promovarea