Non so come funziona API Twitterizer2 ma credo che si possa risolvere il problema in due modi:
- Cerca nella Gazzetta API di Twitter qualcosa che ti aiuta a parse tali collegamenti (guardo Tweet Entities);
- Scaricare autonomamente il contenuto dell'URL e analizzarlo;
Per il secondo approccio Vorrei suggerire qualcosa di simile alla funzione qui sotto (questa analisi si basa sulla prima foto che ho trovato sul mio popolo seguiti tweets in modo funziona solo per le immagini TwitPic):
private static Uri GetPicture(string twitterUri)
{
using (var webClient = new WebClient())
{
string html = webClient.DownloadString(twitterUri);
int imgIndex = html.IndexOf("<img class=\"photo\" id=\"photo-display\"");
int srcStartIndex = html.IndexOf("src", imgIndex) + 5;
int srcEndIndex = html.IndexOf("\"", srcStartIndex);
string imgSrc = html.Substring(srcStartIndex, srcEndIndex - srcStartIndex);
return new Uri(imgSrc);
}
}
Come si può immaginare l'utilizzo è:
Uri imgUri = GetPicture("http://t.co/RQu9hZn8"); // this is a real image
fonte
2011-10-08 16:38:30
Questo funzionerà (per twitpic), ma sappiate che effettuerete chiamate Web per ciascuna immagine e che occorrerà tempo e larghezza di banda per risolverlo. –
Come si scarica un'immagine senza fare una webcall? Ho appena proposto un metodo per estrarli da un collegamento * codificato *. Come gestisce * le immagini che mostrano * dipende da lui :) –
Se stai contando la chiamata web per scaricare i dati dell'immagine, il tuo codice eseguirà 2 webcalls per ogni immagine. Quello che stai facendo non estrarrà i dati dell'immagine, ma l'url per l'immagine, che il client dovrebbe effettuare un'altra chiamata a quell'url da scaricare. Questo è ciò di cui sto parlando, stai effettuando 1 chiamata web extra. Ho pubblicato un link al codice di esempio che otterrà l'url direttamente da Twitter. I dati sono già inclusi nei risultati. –