Flickr API

Le Flickr API sono una figata pazzesca. In pochi minuti, e grazie anche al plugin Exec-PHP che mi ha segnalato il Raffa, ho potuto creare una pagina per inserire l’elenco dei set delle mie foto su Flickr utilizzando il metodo flickr.photosets.getList dell’API e il formato di risposta PHP che fornisce array PHP serializzati.

La pagina Pictures non è più un reindirizzamento a Flickr, ma contiene l’elenco dei miei album fotografici.


Ecco il codice utilizzato per fare ciò (naturalmente al posto dei vari XXXX ci vanno i dati realtivi alla chiave API e quant’altro)

$params = array(
‘api_key’ => ‘XXXXXXXXXXXXXXXXXXXXXXXXXXX’,
‘method’ => ‘flickr.photosets.getList’,
‘user_id’ => ‘XXXXXX@XXX’,
‘format’ => ‘php_serial’,
);

$encoded_params = array();

foreach ($params as $k => $v){
$encoded_params[] = urlencode($k).’=’.urlencode($v);
}

#
# chiama l’API e decodifica la risposta
#

$url = “http://api.flickr.com/services/rest/?”.implode(’&',$encoded_params);
$rsp = file_get_contents($url);
$rsp_obj = unserialize($rsp);

#
# visualizza i photosets (o un errore se e’ fallita)
#

echo “<table>\n”;
if ($rsp_obj[’stat’] == ‘ok’){
$photosets = $rsp_obj[’photosets’];
$photosets = $photosets[’photoset’];
foreach ($photosets as $photoset) {
echo “<tr>\n\t<td>\n”;
echo “<div style=\”background:transparent url(/img/set_case.gif) no-repeat scroll 0%; height:95px; padding:14px 0px 0pt 7px; width:91px;\”>”;
echo “<a href=\”http://www.flickr.com/photos/gioanola/sets/”.$photoset[’id’].”/\”>”;
echo “<img title=\”".utf8_decode($photoset[’description’][’_content’]).”\” src=\”http://farm”.$photoset[’farm’].”.static.flickr.com/”.$photoset[’server’].”/”.$photoset[’primary’].”_”.$photoset[’secret’].”_s.jpg\” width=\”75\” height=\”75\” style=\”border:1px solid #000000\”>”;
echo “</a></div>”;
echo “</td>\n\t<td>”;
echo “<a href=\”http://www.flickr.com/photos/gioanola/sets/”.$photoset[’id’].”/\” title=\”".utf8_decode($photoset[’description’][’_content’]).”\”>”.htmlentities(utf8_decode($photoset[’title’][’_content’])).”</a>”;
echo “<br/><b>”.$photoset[’photos’].”</b> foto”;
}
echo “</table>”;
}else{
echo “Chiamata fallita!”;
}

19 Commenti a “Flickr API”

  1. Raffa afferma:

    Giue bello. Io sto continuando a strugglare con il Gallery2, magari un giorno riuscirò ad avere una picture gallery decente. Ancor più bella la finestra con il codice. Come hai fatto a metterla?

    P.S.: le category clouds fanno caghèr

  2. Mau afferma:

    La cosa bella delle Flickr API è che in teoria puoi costruirti da solo la tua photogallery usando il loro sito unicamente come archivio. In effetti, si potrebbe dire, “vorrei anche vedere!”, visto che pago per tenerci le foto. Ma l’utilizzo delle API è gratuito e disponibile per ogni utente registrato a Flickr, indipendentemente dal fatto che abbia un account Pro (a pago).

    La finestra con il codice è una banale div con una classe che ha il font-family monospaced e l’attributo “overflow” impostato ad “auto” che la fa apparire come fosse un frame inline, la qual cosa spesso può far molto comodo.
    Ecco ora ci ho aggiunto anche word-space: pre, così viene anche l’indentazione.

    Per le category clouds mi garbano amme. E comunque il loro aspetto dipende enormemente dal brause. Magari riduco il font, visto che con Firefox mi pare siano un po’ troppo enormi, e poi non ti lamentare che ho tolto anche gli snap preview perché il Pasca e la su’ moglie hanno avuto anche loro da ridire.

  3. Raffa afferma:

    Sì, supponevo che la finestra del codice fosse nel css, e difatti la copierò a breve. Ora che hai messo il pre le righe ti son diventate double spacing. Me lo fa anche a me, allora penso sia un setting del template.

    Lo snap preview, oltre a essere irritante nel browsing della pagina, è anche inutile (che informazione ti dà?). Le category clouds a me personalmente paiono inutili alla stessa maniera. Se io voglio dare un’occhiata alle categorie, preferisco averle in ordine alfabetico, scritte così mi danno noia e basta. Comunque son d’accordo che questa sia una preferenza personale.

    W Tiziano Ferro, il meglio figo del bi-goncio

  4. Mau afferma:

    Il double spacing è dovuto al fatto che il Wordpress di suo sostituisce i ritorni a capo con dei br, e il pre mostra i ritorni a capo per quello che sono. I due effetti combinati producono il double spacing. Il problema è bell’e che risolto con un hack costituito dall’aggiunta in quella classe di un bel line-height: 0.5em che dimezza l’altezza dei ritorni a capo.

    Lo snap preview, riconosco sia invasivo, ma quando lo vidi le prime volte pensai “bada ganzo” e soprattutto mi piacque la sua interazione con wikipedia, flickr e quant’altro, che non si limita a mostrarti una preview della pagina. Ecco, quello lo trovai veramente utile. Ma ormai ho deciso di arrendermi al conservatorismo di Cippa & Paska (nemmeno Salandra e Sonnino erano così conservatori).

    Sulle cloud, mi garbano proprio esteticamente, ma noto che il loro risultato è molto browser depending, sicché un so bene come mi comporterò.

    Infine, Tiziano è il meglio, non me lo so spiegare, ma è così.

  5. Mau afferma:

    Basta, ce l’ho rimesso sai, lo snapshot, però coll’iconcina e basta che doventa nuvoletta, il resto del link è ammodino. Del resto loro, sai, qui spiegan tutto come fare. Ganzi un monte.

  6. Raffa afferma:

    Ah sì, ma io li avevo già disabilitati dal tuo sito. Uah uah uah uah! :)

  7. Edo afferma:

    Basta. Vogliamo siti navigabili con lynx.

  8. Edo afferma:

    Apparte tutto, devo dire che mi piaceva di piu’ il comportamento del mePhoto e anche il fatto che a quel tempo si mettevano i titoli alle fotografie.

  9. Mau afferma:

    Prima di tutto bisogna dire che questo sito, grazie al mitico Wordpress, è perfettamente navigabile persino con un links versione 0.4pre5 e anche con lynx. Se poi vuoi vedere le foto, mi sa tanto che un browser testuale non sia la scelta ottimale. Il mePhoto sarebbe potuto di gran lunga migliorare, in effetti; con l’apporto di un po’ di Ajax poi, chissà che bel progettino poteva venir fuori. I titoli alle foto son tutta una questione di pigrezza.

  10. Raffa afferma:

    Beh, col gallery2 si possan mettere tutti i titoli che tu voi. Il problema, come diceva il Buonnetti, è averci la pazienza di metterli (cfr. Abbenedé I e la didascalia sotto il thumbnail)

  11. Raffa afferma:

    ecco, scazzai a chiudere il link di didascalia… mau, pleeeeeeease!!!!

  12. Raffa afferma:

    Pls. see Ajax comment preview, visto che ti garba l’ajax

  13. Edo afferma:

    si si, evidentemente mi riferivo alla prigrizia umana non alle possibilita’ (troppe) fornite dai moderni software.

    Quello che noto, e’ che quando usavo mePhoto, e tutto era piu’ complicato, le mie foto erano tutte con didascalia (e mi piaceva la visualizzazione). D’altra parte, come notavo qui, volendo mettere sempre piu’ foto e con qualita’ migliore, mi sono deciso a spostarmi su un servizio (quasi) professionale; la stessa scelta l’hai fatta te.

    Magari si potrebbe risuscitare il mePhoto utilizzando flikr o picasaweb come meri depositi di foto… mi piacerebbe.

  14. Mau afferma:

    Ma Picasa ci ha le API?

  15. Raffa afferma:

    No, ci ha i mosconi. Ma scusa, farti la galleria sul tuo server non ti piace come idea? (si vede che sono ancora esaltato dalla mia??!!)
    API, non mosconi

  16. Mau afferma:

    Stasera grande concerto degli Elii all’Ippodromo delle Moline da cui son reduce da poco insieme al Pierlu. Persino due pezzi inediti del nuovo album in uscita ad autunno.

    Questo non c’entrava nulla. Veniamo a noi…
    La galleria sui server di Aperion mi costa troppo spazio disco. Almeno per ora, finché ‘un si mette il sistema SAN/NAS in DRBD che mi sa a questo punto sia da rimandassi a settembre. Più che attro per via dei backup. Diventerei il cliente di Aperion più esigente in tali termini. Su cicciobaiano avrei lo spazio, ma non ho la banda. Flickr mi ha dato la soluzione e mi piace. L’idea di Edo non sarebbe affatto male, ma naturalmente è già stata sviluppata, e anche in Ajax e chissà da quanti altri ancora, come plugin di Wordpress.

    Per quanto riguarda il comment preview, eh sì, lo metterò. E anche la possibilità a chi ha messo i commenti di editarli. Peccato che debba proprio passare alla versione nuova del Wordpress, e la cosa, non poco, mi spaventa.

  17. Edo afferma:

    Si, picasa ha le API.

  18. Edo afferma:

    Mi chiedo se lo snap shot venga disabilitato solo per il mio utente (mi riconosce grazie al cookie). Ho infatti notato che con il Firefox (che uso io) da casa non c’e’ la possibilita’ dello snapshot, mentre con safari (che usa la Silvina) sempre da casa c’e'…

  19. Mau afferma:

    Claro che sì.
    Ma guarda, son de’ ganzi. Qui c’è scritto tutto, te lo dissi.