Mostanában az unalmas busz utakat azzal hidalom át, hogy leporolom a fejlesztő énemet. Konkrétan a facebook alkalmazásfejlesztésbe ásogatom magam bele, de ezt már tudjátok.

Nem akarok most itt tutoriálokat írni, tényleg csak felskiccelem egy adott út mozzanatait. Bele is vágnék akkor:

[Pécs]

Készítettem magamnak egy demó alkalmazást, ebbe próbálok összelapátolni egy saját framework szerű dolgot. A következő feladatot állítottam fel magamnak: lekérdezni az aktív user (aki éppen használja az alkalmazást) ismerőseinek adatait egy bizonyos szempont szerint. Jelen esetben legyen ez a nem, mondjuk ki akarom listáztatni csak a lány ismerősöket.

Az aktív user ismerőseinek adatait pofon egyszerű lekérdezni:
$friends = $facebook->api('/me/friends?token='.$session['access_token']);
Az eredmény egy JSON objektum lesz, de ez csak az ismerősök nevét és id-jét tartalmazza, az adott ember nemét történetesen nem. Arra indulok el, hogy megvannak az ismerősök id-jei. Ez alapján egynként lekérdezem mindenkinek a nemét, és ha lány akkor felveszem egy tömbbe…

[Kozármisleny]

Egy adott user adateinak érszletes lekérdezésére vagy a graph API használjató, vagy pedig FQL lekérdezést kell kalapálni…

[Kozármisleny után]

Az FQL-lel kezdtem el próbálkozni. Az elgondolásom az volt, hogy egy ciklusban lekérdezem egyenként a barátok nemét. Csakhogy a facebook nagyon finnyás, ilyen otrombaságot connection timeoutol. Én sem gondoltam, hogy elegáns 200+ lekérdezést külön külön megcsinálni, iszonyatos felesleges terhelést róna ez a szerverre. Hát a facebook szűri is okosan az ilyen bénázást. Elkezdem megnézni a graph API-t (ez amúgy is szimpatikusabb)…

[Szederkény]

Meg is van. A graph API-val van lehetőség arra, hogy felsorolom a user id-ket és megadom az adatlapjuk melyik mezőjére vagyok kíváncsi és ő visszaadja ezt. Azt hiszem ez jó lesz…

[Lánycsók]

Ó ez nem jó. Ez a rest API. A tesztkonzolban tök jól működik de a hívás módja más. A rest API nem lesz támogatva, nem érdemes vele foglalkozni. Graph API-s megoldás kell….

[Mohács]

Megvan egy adott kódú user néhány alap adatainak lekérése graph API-val. Az adatok közt szerepel a nem. Szupi. Na most kíváncsi leszek ezt tudom-e ciklusban futtatni…

…úgy néz ki nem lehet. Egyszerre kell átadnom a user id-ket… na akkor most google…

[Mohács]

Graph API-val ezt NEM lehet lekérdezni. Óriási LOL és faszkorbács a fejlesztőknek. És a megoldás…. igen, FQL. Csak épp nem külön-külön lekérdezésekkel cikluson belül, hanem egyetlen egymásba ágyazott lekérdezéssel…

[Bár]

Megvan.
SELECT uid, name, sex FROM user WHERE uid IN (SELECT uid2 FROM friend WHERE uid1 = me())

[Alsónyék]

Mohácstól eddig pihentem. Nem volt net… de most folytköv…

[Pörböly]

Az FQL lekérdezés eredménye egy többdimenziós tömbb. Ezt kicsit letisztázva máris rendelkezésünkre állnak hölgy ismerőseink kódjai és nevei:

$lanyokSzama = 0;
for($i=0; $i count($fqlResult); $i++){
if($fqlResult[$i]['sex'] == 'female'){
$lanyok[$lanyokSzama]['id'] = $fqlResult[$i]['uid'];
$lanyok[$lanyokSzama]['nev'] = $fqlResult[$i]['name'];
$lanyokSzama++;
}
}


Küldetés teljesítve, köszönöm a tapsokat.

Itt lehet megaszondani!

// Uccsó kommentek

// Twitterbedrótozás

twitter
Szabad követni: éntwitter // gyártwitter

// Keresni is lehet






// RSS

Kérésre házhoz is megyünk!

Bejegyzések // Kommentek.

// Gépház

A világdominancia felé a kiváló WordPress hajt minket. 
 A dizájnt eMeM köszörülte csinosra a mondovicsmihaly.hu  gyárterületén.

 Minden amit mond felhasználható Ön ellen © 2002-2009.