VS2012, Web Api, Twitter e Feed RSS
Questo post può essere considerato una “seconda parte” di quest’altro mio post, di qualche giorno fa. Ho ricevuto un solo commento, dicendomi che la cosa era per “smanettoni”. Troppo complicato, insomma. Ho quindi creato una solution Visual Studio 2012, ridotta all’essenziale, che esprime tutti i concetti base spiegati l’altra volta. Gli ingredienti sono i seguenti:
- Visual Studio 2012
- ASP.NET MVC 4, specificatamente Web Api (non ci sono view, insomma, ma le action restituiscono dati puri, via http)
- Json.Net
- qualche riga di C#
La solution è scaricabile dal mio account SkyDrive.
L’unica modifica che dovete apportare è modificare il file JsonDownloader.cs, valorizzando correttamente le variabili stringa oauth_token, oauth_token_secret, oauth_consumer_key e oauth_consumer_secret. Queste quattro stringhe servono per l’autenticazione oAuth obbligatoria per le nuove API Twitter. Per ottenere le vostre credenziali dovete registrare la vostra app sul sito https://dev.twitter.com/ (l’account per il login è lo stesso del vostro utente Twitter, chiaramente). Una volta inserite le vostre credenziali, siete a posto. Eseguendo il progetto, verrà aperto il browser all’indirizzo http://localhost:5279/api/rss/GetRssFeedTwitter?id=IgorDamiani: il codice non farà nient’altro che prelevare il JSON da Twitter e restituirvi sul browser l’XML del feed RSS. Chiaramente è sufficiente passare un utente diverso come id per ottenere altri feed.
Nota bene
In base alle vostre esigenze, vorreste modificare il codice delle classi RssParser e RssItem. Queste classi sono le responsabili della conversione tra JSON e XML. Le mie esigenze non sono troppo complesse: visualizzando i tweet su device mobili (app per Windows Phone e Windows 8), mi serve solamente il testo del tweet, la data di pubblicazione, e poco altro. Il testo contiene chiaramente il messaggio, l’eventuale link contenuto, e basta. Ma – ripeto – più che sufficiente, nel mio caso. Voi magari avete altre esigenze, più o meno complesse, quindi potrà essere necessario adattarle: ma questo dipende da voi.