„Excel“, „REST“ ir „XMLMAPS“. Importas vs WINHTTP

Turinys

Kažkodėl laidai to niekada netinkamai kirto; kadangi galite importuoti XML į „Excel“ tiesiogiai iš URL, nereikia naudoti WINHTTP paprastoms REST žiniatinklio paslaugų užklausoms atlikti.

Aš iš pradžių pradėjau naudoti šią techniką peržiūrėjęs „Amazon Web Services“ kodą, kuriame naudojamas „WinHTTP“, tačiau tai nėra būtina tik prašant XML iš žiniatinklio paslaugos.

Koncepcijos įrodymas: čia yra „Yahoo News Search API“ naudojimo pavyzdys, skirtas „Excel“ gauti naujausias „Yahoo“ naujienas „Dan Rather“. Tam reikalinga „Excel“ versija, palaikanti XML:

1. Pažymėkite, tada nukopijuokite šį URl:

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

2. „Excel“ eikite į Duomenys-> XML-> Importuoti

3. Lauke Failo pavadinimas naudokite Įklijuoti spartųjį klavišą (CTRL-V), kad įvestumėte ką tik nukopijuotą URL ir paspauskite klavišą Enter.

4. „Excel“ paragins langelį pateikti „Yahoo News“ rezultatų sąrašą

Taigi mums tiesiog pavyko naudoti „Yahoo Rest Webservice“, kad gautume duomenis į „Excel“ be WINHTTP. Atminkite, kad tai plikas kaulų pavyzdys. Norėdami tai paaiškinti, pridėkite žemėlapį prie darbaknygės ir naudokite XMLMaps.import vietoj to iš naudojamų WINHTTP pavyzdžių.

Kada šiuo metu naudoti WINHTTP su REST žiniatinklio paslaugomis? Mano geriausias spėjimas iki šiol:

1. Kai paslaugai reikalingas prisijungimas. Tokiu atveju turiu naudoti „SetCredentials“

2. Kai nenoriu importuoti XML duomenų į XML žemėlapį, aš tiesiog noriu neapdorotų duomenų. Pavyzdžiui, prieš manipuliuodamas duomenimis skaičiuoklėje noriu manipuliuoti duomenimis arba galbūt naršyti XML ir pasirinkti tinkamus rodyti duomenis pagal pasirinktinius kriterijus.

Galiausiai, XMLMAPS.Import ir WINHTTP abu naudoja REST žiniatinklio paslaugas, tačiau pastarajai reikia dar kelių kodo eilučių. Toliau suklysiu su žiniatinklio paslaugomis, kol to neišmoksiu (ir, žinoma: suprasiu teisingai). Įdomu, ar kas nors kitas turi REST pavyzdžių, naudodamas „Excel“?

wave wave wave wave wave