Pratioci kao običan text
Verovatno ste se nekada zapitali kako da prikažete broj svojih prijatelja, pratilaca, pretplatnika i sl. u formi broja. Bez ikakvih vidžeta, bedževa i skripti koje dolaze sa socijalnih mreža i koje su namenjene developerima. Samo da prikažete da vas na Tviteru prati 52 čoveka, i ništa više. Naravno, da sve to bude dinamično, da ne menjate broj ručno.
U prethodnom postu sam pokazao kako se mogu prepravljati postojeće skripte i menjati njin uniformisani izgled. Ovaj put ćemo problemu pristupiti na sporedna vrata.
Počeću od Fejsbuka. Koristićemo API Fejsbuka koji dozvoljava prikupljanje informacija sa http://graph.facebook.com/xxxxxxxx stranice. Podaci su u JavaScript Object Notation (JSON) obliku. Za preuzimanje ćemo koristiti json_decode funkciju. Na graph stranici ima malo više podataka koji se mogu prikupiti ali princip je isti. Sve podatke kupimo u promenljive a zatim formatiramo po želji.
function fbfan() { $pageID = 'vaš ID ovde'; $info = json_decode(file_get_contents('http://graph.facebook.com/' . $pageID)); echo $info--->likes; }
Sa Tviterom je potpuno isti princip. Tviter takođe ima set API-ja koji dozvoljava da sa https://api.twitter.com/users/xxxxxxxxxxx.json stranice prikupimo razne podatke. Podaci su takođe u json obliku.Facebook Fanovi
function twitterFollowers() { $pageID = 'vaš ID ovde'; $info = json_decode(file_get_contents('http://api.twitter.com/users/' . $pageID .'.json')); echo $info--->followers_count; }
Pored prikupljanja osnovnih podataka moguće je prikupiti još što-šta preko drugog API-ja. Ovaj API dozvoljava da prikupite više toga od vaših pratioca, kao što su imena, korisnička imena, slike sa profila...Twitter Pratioci
$trends_url = "http://api.twitter.com/1/statuses/followers/vaše_korisničko_ime.json"; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $trends_url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt( $ch, CURLOPT_TIMEOUT, 60 ); // set curl timeout to 60 sec. you might want to increase this, as Twitter can be slow sometimes. $curlout = curl_exec($ch); curl_close($ch); $response = json_decode($curlout, true); foreach($response as $friends){ $thumb = $friends['profile_image_url']; $url = $friends['screen_name']; $name = $friends['name'];
Uz malo formatiranja, dobijamo sličice koje su linkovane ka profilima pratilaca.
Sledeći na stolu za seciranje je You Tube. Google je postavio 2.0 reviziju API-ja koja omogućava da se prikupe podaci koji se mogu formatirati po želji.
$name = 'vaše_korisničko_ime'; $url = sprintf('http://gdata.youtube.com/feeds/api/users/%s?alt=json', urlencode($name)); $json = @file_get_contents($url); // Naughty @-operator, use proper error handling $data = json_decode($json, TRUE); $count = (int) $data['entry']['yt$statistics']['subscriberCount'];
Youtube pretplatnici
Do skoro je postojala mogućnost prikupljanja podataka o pretplatnicima sa RSS Feedburnera ali je Google na žalost ugasio API koji je tu mogućnost dozvoljavao. Ako negde na netu i nađete prikazan broj RSS pretplatnika, taj broj je prikaz iz keša a ne trenutno stanje.
Ukoliko imate neko drugo rešenje ili smatrate da bi se ovde moglo nešto dodati/izmeniti ostavite poruku ispod.