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.

Hasonló írások

Itt lehet megaszondani!

// Uccsó kommentek

  • eMeMDynamo
  • AteeGDynamo
  • eMeMElvileg mostanaban az utolso
  • eMeMJárgány :)
  • AteeGElvileg mostanaban az utolso
  • eMeMElvileg mostanaban az utolso
  • AteeGLe a kilókkal :)
  • eMeMLe a kilókkal :)

// 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-2012.

      Warning: stristr() [function.stristr]: Empty delimiter in /var/www/customers/vh-36/web/home/www.aeonline.hu/wp-content/plugins/wassup/wassup.php on line 2093