Av någon anledning korsade trådarna aldrig det ordentligt; eftersom du kan importera XML till Excel direkt från en URL behöver du inte använda WINHTTP för att göra enkla REST -webbtjänstfrågor.
Jag började ursprungligen använda tekniken efter att ha sett Amazon Web Services -koden som använder WinHTTP, men det är inte nödvändigt för att bara begära XML från en webbtjänst.
Proof of Concept: Här är ett barebones exempel på att använda Yahoo News Search API för att få de senaste Yahoo -nyheterna om "Dan Rather" till Excel. Detta kräver en version av Excel som stöder XML:
1. Markera sedan Kopiera denna URL:
http://api.search.yahoo.com/WebSearchService/V1/webSearch?appid=YahooDemo&query=Dan+Rather&results=10
2. I Excel går du till Data-> XML-> Import
3. I rutan Filnamn använder du Paste Shortcut (CTRL-V) för att ange webbadressen du just kopierade och tryck på enter.
4. Excel kommer att uppmana dig att visa listan över Yahoo News -resultat i cellen
Så vi lyckades precis använda Yahoo Rest Webservice för att få in data i Excel, utan WINHTTP. Tänk på att det är ett exempel på bara ben. För att beskriva det, lägg till en karta i arbetsboken och använd XMLMaps.import istället av WINHTTP -exemplen jag har använt.
När skulle jag för närvarande använda WINHTTP med REST -webbtjänster? Min bästa gissning hittills:
1. När inloggning krävs för tjänsten. I så fall måste jag använda SetCredentials
2. När jag inte vill importera XML -data till en XML -karta, snarare vill jag bara ha rådata. Till exempel vill jag manipulera data innan jag skriver den till ett kalkylblad eller eventuellt navigera i XML och välja och välja vilken data som ska visas baserat på anpassade kriterier.
Slutligen fungerar XMLMAPS.Import och WINHTTP båda för att konsumera REST -webbtjänster, men den senare kräver några fler kodrader. Jag kommer att snubbla runt med webbtjänsterna tills jag lär mig det (och naturligtvis: få det rätt). Jag undrar om någon annan har några REST -exempel med Excel?