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
.