venerdì, marzo 06, 2009

Google Documents List Data api e proxy

Stavo facendo un po' di prove con la nuova versione delle Google Documents List Data Api per .Net. Nella nuova versione è possibile anche scaricare i documenti da Google Docs in vari formati (Pdf, html, ecc.). Un bel  post sul blog ufficiale di Google fornisce anche i link al codice sorgente di esempio.

Ho scaricato il tutto e funziona perfettamente. Potrebbero però esserci dei problemi se c'è di mezzo un proxy. La libreria .NET di Google utilizza WebRequest e WebResponse del framework NET. Le 2 classi tendono ad utilizzare il proxy impostato in Internet Explorer.  Non ho però trovato il modo per accedere alle istanze di queste classi. Ma c'è un altro modo: passare attraverso la proprietà Proxy di GDataRequestFactory.

Ad esempio, se si vuole usare una connessione diretta, senza usare il proxy impostato in Internet Explorer basta aggiungere un paio di righe:


... SNIP ...

this.request = new DocumentsRequest(settings);
this.Text = "Successfully logged in";

GDataRequestFactory reqFact = this.request.Service.RequestFactory as GDataRequestFactory;
reqFact.Proxy = new WebProxy();

Feed<Document> feed = this.request.GetEverything();
// this takes care of paging the results in
foreach (Document entry in feed.Entries)
{
    all.Add(entry);
}
... SNIP ...
 
La classe Webproxy è quella del framework NET. Vedere MSDN per i dettagli su come usarla.

Nessun commento: