Av en eller annen grunn krysset ledningene det aldri ordentlig; fordi du kan importere XML til Excel direkte fra en URL, er det ikke nødvendig å bruke WINHTTP for å gjøre enkle REST -webtjenestespørsmål.
Jeg begynte opprinnelig å bruke teknikken etter å ha sett Amazon Web Services -koden som bruker WinHTTP, men det er ikke nødvendig for å bare be XML om en webtjeneste.
Proof of Concept: Her er et barebones -eksempel på bruk av Yahoo News Search API for å få de siste Yahoo -nyhetene om "Dan Rather" til Excel. Dette krever en versjon av Excel som støtter XML:
1. Marker deretter Kopier denne url:
http://api.search.yahoo.com/WebSearchService/V1/webSearch?appid=YahooDemo&query=Dan+Rather&results=10
2. I Excel går du til Data-> XML-> Import
3. I Filnavn-boksen bruker du Lim inn snarveien (CTRL-V) for å skrive inn nettadressen du nettopp kopierte og trykke enter.
4. Excel vil be deg om at cellen viser Yahoo News Results
Så vi klarte nettopp å bruke Yahoo Rest Webservice for å få data inn i Excel, uten WINHTTP. Husk at det er et eksempel på bare bein. For å forklare det, legg til et kart i arbeidsboken og bruk XMLMaps.import i stedet av WINHTTP -eksemplene jeg har brukt.
Når ville jeg for øyeblikket bruke WINHTTP med REST -nettjenester? Mitt beste gjetning så langt:
1. Når pålogging er nødvendig for tjenesten. I så fall må jeg bruke SetCredentials
2. Når jeg ikke vil importere XML -dataene til et XML -kart, vil jeg heller bare ha rådata. For eksempel vil jeg manipulere dataene før jeg skriver dem til et regneark eller muligens navigere i XML og velge hvilke data som skal vises basert på egendefinerte kriterier.
Til slutt fungerer XMLMAPS.Import og WINHTTP begge for forbruk av REST -webtjenester, men sistnevnte krever noen flere kodelinjer. Jeg kommer til å snuble rundt med webtjenestene til jeg lærer det (og selvfølgelig: få det riktig). Jeg lurer på om noen andre har noen REST -eksempler på Excel?