Un feed JSON di Twitter è semplicemente un file contenente un oggetto JSONP (JSON with Padding) che a sua volta contiene delle informazioni sull'utente selezionato e sui suoi tweet. Il file è dinamico, nel senso che i suoi dati cambiano in base al tipo di parametri passati nell'URL della richiesta. In questo articolo ci soffermeremo sulla struttura di questo file JSON.
URL di base e parametri
L'URL di base è il seguente:
http://api.twitter.com/1/statuses/user_timeline.json?
I parametri sono:
screen_name: il vostro nome utente su Twittercount: il numero di tweet da restituirecallback=?: specifica che il feed è di tipo JSONP
Esempio:
http://api.twitter.com/1/statuses/user_timeline.json?screen_name=gabromanato&count=2&callback=?
Dati utente
All'interno dell'oggetto JSON, l'oggetto user contiene i dati dell'utente selezionato. I più interessanti sono:
profile_link_color: il valore esadecimale del colore dei link nel profiloprofile_sidebar_border_color: il valore esadecimale del colore del bordo della barra lateralefollowers_count: il numero di followers dell'utentelocation: la posizione geografica dell'utenteurl: l'URL del sito dell'utentedescription: la descrizione personale del profilo dell'utentelisted_count: il numero di liste di Twitter in cui compare l'utenteprofile_background_color: il colore di sfondo della pagina del profilo dell'utenteprofile_background_image_url: l'URL dell'immagine di sfondo della pagina del profilo dell'utentecreated_at: la data d'iscrizione dell'utente a Twitterprofile_text_color: il colore del testo della pagina del profilo dell'utenteprofile_sidebar_fill_color: il colore di sfondo della barra laterale del profilo dell'utenteprofile_image_url: l'URL dell'immagine del profilo dell'utentestatuses_count: il numero di tweet pubblicati
Tweet
I dati rilevanti sui tweet sono contenuti in:
text: il contenuto del tweetcreated_at: la data e l'ora di creazione del tweetsource: il sito di originein_reply_to_user_id,in_reply_to_screen_name: l'eventuale ID e nome utente del destinatario del tweet di rispostaid_str,id: l'ID univoco del tweet
Reperire i dati
Il feed JSON è fatto di oggetti, quindi occorre accedere in un ciclo a ciascun oggetto per poter usare le proprietà menzionate. Per esempio, in jQuery possiamo usare il seguente codice:
var url = 'http://api.twitter.com/1/statuses/user_timeline.json?screen_name=gabromanato&count=2&callback=?';
$.getJSON(url, function(data) {
$.each(data, function(i, item) {
var user = item.user;
var tweet = item.text;
var tweetTime = item.created_at;
//...
});
});
In questo caso abbiamo utilizzato un ciclo $.each() per accedere ai dati dell'oggetto JSON. Un equivalente in JavaScript è il ciclo for...in.