In un precedente articolo abbiamo visto come recuperare le immagini da Flickr con Javascript, agganciandoci al flusso RSS di un singolo account; il limite di questo sistema è che non possiamo recuperare immagini da uno specifico set o da un gruppo (questa seconda alternativa è possibile solo dopo aver modificato alcune parti del codice).
Come faccio quindi se voglio recuperare solo le foto provenienti da quel mio set o da quel gruppo che magari io stesso ho creato? La soluzione è nelle Flickr API.
Se hai provato a dare uno sguardo alla documentazione delle API potresti essere rimasto un attimo spiazzato, questo perché in effetti non è molto ben organizzata: sulla sinistra ci sono una serie di articoli di carattere più o meno tecnico che descrivono alcune tematiche relative all’utilizzo delle API stesse e qualche link a dei kit API (vedremo dopo cosa sono), mentre nella sezione a destra abbiamo l’elenco di tutti i metodi resi disponibili dagli sviluppatori, ma nessun accenno a come utilizzarle.
Come faccio allora?
Con questa piccola guida vedremo insieme come creare una piccola applicazione che ci permetterà di visualizzare le foto del nostro account, di uno specifico set, di un gruppo e perfino le immagini pubbliche, utilizzando le API di Flickr e alla fine ti renderai conto che non è poi così complicato come sembra.
Ho diviso il percorso in piccoli step, che ti elenco:
- Chiediamo una chiave API e impostiamo l’applicazione
- Diamo uno sguardo alla documentazione / I primi passi con PhpFlickr
- Diamo vita alla nostra applicazione
L’argomento è sicuramente molto vasto e c’è molto altro di cui parlare (e avremo modo di farlo), ma questi tre punti sono più che sufficienti per iniziare a “giocare” con le API e creare qualcosa di molto semplice, come puoi vedere su questa demo.
A questo punto siamo pronti per iniziare con il primo step:
La chiave API: cos’è e come richiederla?
La chiave API è il componente fondamentale della nostra applicazione web, senza di essa non potremmo usare le API, inoltre viene usata da Flickr per creare dati statistici sul suo uso.
È possibile richiedere due tipi di chiave: una chiave commerciale e una non commerciale e se ne può usare solo una per applicazione, in quanto in fase di richiesta bisogna specificare alcuni dettagli su ciò che vogliamo creare, ma vediamo subito come fare:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" |
"https://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> |
< html xmlns = "https://www.w3.org/TR/1999/REC-html-in-xml" > |
< meta http-equiv = "Content-Type" content = "text/html; charset=UTF-8" /> |
< title >Your Inspiration Flickr</ title > |
< link rel = "stylesheet" type = "text/css" href = "css/reset.css" /> |
< link rel = "stylesheet" type = "text/css" href = "css/screen.css" /> |
< link rel = "stylesheet" type = "text/css" href = "script/fancybox/jquery.fancybox-1.3.4.css" /> |
< h1 >Your Inspiration Flickr</ h1 > |
< form id = "yifForm" action = "#" method = "post" > |
< label for = "source" >Sorgente:</ label > |
< select id = "source" name = "source" > |
< option value = "public" >Pubblica</ option > |
< option value = "user" >Utente</ option > |
< option value = "photoset" >Photoset</ option > |
< option value = "group" >Gruppo</ option > |
< label for = "uid" >User Id:</ label > |
< input type = "text" name = "uid" id = "uid" value = "" /> |
< a href = "#" title = "find your id" id = "idFinder" >Find it!</ a > |
< label for = "psid" >Photoset Id:</ label > |
< input type = "text" name = "psid" id = "psid" value = "" /> |
< label for = "noi" >N° di immagini:</ label > |
< input type = "text" name = "noi" id = "noi" value = "" /> |
< input type = "submit" value = "Vai" /> |
< script type = "text/javascript" src = "https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js" ></ script > |
< script type = "text/javascript" src = "script/function.js" ></ script > |
< script type = "text/javascript" src = "script/fancybox/jquery.fancybox-1.3.4.js" ></ script > |
< script type = "text/javascript" src = "script/functions.js" ></ script > |
Nulla di particolare: abbiamo solo una sidebar con un form (che ci servirà per definire i parametri con i quali verranno recuperate le immagini) e un contenitore, al momento vuoto, nel quale inseriremo dinamicamente (e con una chiamata Ajax) le nostre foto.
Prima di chiudere il tag <body> richiamiamo jQuery tramite repository CDN (è inutile inserire una copia locale di jquery, google fornisce un ottimo servizio di hosting per molte librerie e framework), un suo plugin, jQuery.fancybox (questo dobbiamo scaricarlo e inserirlo nel nostro progetto, all’interno della cartella script) il cui foglio di stile è inserito all’interno del tag <head>, ed infine inseriamo il nostro file “functions.js”, che andremo a scrivere in seguito.
Non tratterò il file reset.css, puoi reperirne di ottimi sulla rete, in particolare ti consiglio quello scritto da Eric Meyer; passiamo invece al file screen.css e diamo un minimo di formattazione alla nostra applicazione:
border-bottom : 1px solid #666 ; |
border-left : 1px solid #666 ; |
font-family : Helvetica , Arial , sans-serif ; |
form p{ text-align : right ; margin : 30px ;} |
form #uidRow, form #psidRow{ display : none ;} |
ul{ width : 100% ; height : 100% } |
clip : rect( 0px 200px 200px 0px ); |
Anche qui nulla di particolare, abbiamo solo posizionato la sidebar e fatto in modo che le immagini abbiano una forma quadrata grande 200px e siano posizionate una accanto all’altra.
Conclusione
Come avrai notato non mi sono impegnato più di tanto con lo stile dell’applicazione, per questo tutorial quello che ci interessa davvero è il codice php che inizieremo a vedere già dal prossimo articolo; nel frattempo, se ti piace spulciare il codice per cercare di capire da solo come funzionano le cose, ti invito a scaricare l’applicazione demo e a testarla in locale.
Download
L'autore
Appassionato di web design da qualche anno, ha deciso di prendere la strada del "uebdeveloper" perché ritiene di essere negato con la grafica (anche se ogni tanto ci prova lo stesso), spera di diventare presto un bravo sviluppatore.
Sito web dell'autore |
Altri articoli scritti da Tiziano Basile
6 commenti
Trackback e pingback
[...] scorso articolo abbiamo visto come recuperare una chiave API e abbiamo iniziato ad impostare la nostra [...]