Excel, REST e XMLMAPS.Import vs WINHTTP

Sommario

Per qualche ragione i fili non l'hanno mai incrociato correttamente; poiché è possibile importare XML in Excel direttamente da un URL, non è necessario utilizzare WINHTTP per eseguire semplici query del servizio Web REST.

Inizialmente ho iniziato a utilizzare la tecnica dopo aver visualizzato il codice di Amazon Web Services che utilizza WinHTTP, tuttavia non è necessario solo richiedere l'XML da un servizio Web.

Prova del concetto: ecco un semplice esempio di utilizzo dell'API Yahoo News Search per ottenere le ultime notizie di Yahoo su "Dan Rather" in Excel. Ciò richiede una versione di Excel che supporti XML:

1. Evidenzia quindi Copia questo URL:

http://api.search.yahoo.com/WebSearchService/V1/webSearch?appid=YahooDemo&query=Dan+Rather&results=10

2. In Excel vai su Dati->XML->Importa

3. Nella casella Nome file utilizzare il collegamento Incolla (CTRL-V) per inserire l'URL appena copiato e premere invio.

4. Excel ti chiederà di inserire nella cella i risultati di Yahoo News

Quindi siamo appena riusciti a utilizzare un servizio Web Yahoo Rest per ottenere dati in Excel, senza WINHTTP. Tieni presente che è un esempio essenziale. Per spiegarlo, aggiungi una mappa alla cartella di lavoro e usa XMLMaps.import Invece degli esempi WINHTTP che ho usato.

Quando utilizzerei attualmente WINHTTP con i servizi web REST? La mia ipotesi migliore finora:

1. Quando è richiesto il login per il servizio. In tal caso devo usare SetCredentials

2. Quando non voglio importare i dati XML in una mappa XML, voglio solo i dati grezzi. Ad esempio, voglio manipolare i dati prima di scriverli su un foglio di calcolo o eventualmente navigare nell'XML e scegliere quali dati visualizzare in base a criteri personalizzati.

Infine, XMLMAPS.Import e WINHTTP funzionano entrambi per l'utilizzo di servizi Web REST, tuttavia quest'ultimo richiede alcune righe di codice in più. Continuerò a inciampare con i servizi Web fino a quando non lo imparerò (e, naturalmente: fallo correttamente). Mi chiedo se qualcun altro ha qualche esempio REST usando Excel?

wave wave wave wave wave