Excel, REST a XMLMAPS. Import vs WINHTTP

Obsah

Z nejakého dôvodu to drôty nikdy poriadne neprešli; pretože môžete importovať XML do Excelu priamo z adresy URL, nie je potrebné používať WINHTTP na jednoduché dotazy na REST webové služby.

Túto techniku ​​som pôvodne začal používať po zobrazení kódu Amazon Web Services, ktorý používa WinHTTP, nie je to však potrebné iba pre požiadavku na XML z webovej služby.

Dôkaz koncepcie: Tu je ukážka použitia API Yahoo News Search na získanie najnovších správ Yahoo o „Dan Rather“ do Excelu. Vyžaduje si to verziu programu Excel, ktorá podporuje XML:

1. Zvýraznite a skopírujte toto URl:

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

2. V programe Excel prejdite na položku Údaje-> XML-> Importovať

3. Do poľa Názov súboru zadajte pomocou skratky Vložiť (CTRL-V) adresu URL, ktorú ste práve skopírovali, a stlačte kláves Enter.

4. Excel vás vyzve na zadanie bunky do zoznamu výsledkov správ Yahoo News

Takže sa nám podarilo použiť webovú službu Yahoo Rest na prenos údajov do programu Excel bez WINHTTP. Majte na pamäti, že toto je príklad holých kostí. Ak to chcete vysvetliť, pridajte do zošita mapu a použite XMLMaps.import namiesto príkladov WINHTTP, ktoré používam.

Kedy by som v súčasnosti používal WINHTTP s webovými službami REST? Môj zatiaľ najlepší odhad:

1. Keď je pre službu požadované prihlásenie. V takom prípade musím použiť SetCredentials

2. Keď nechcem importovať údaje XML na mapu XML, chcem iba surové údaje. Napríklad chcem manipulovať s údajmi pred ich zapísaním do tabuľky alebo prípadne navigovať v XML a vybrať a vybrať, ktoré údaje sa majú zobraziť na základe vlastných kritérií.

Nakoniec XMLMAPS.Import a WINHTTP fungujú tak, že spotrebúvajú webové služby REST, avšak ten druhý vyžaduje ešte niekoľko riadkov kódu. Budem sa potácať s webovými službami, kým sa to naučím (a samozrejme: správne). Zaujímalo by ma, či má ešte niekto REST príklady pomocou Excelu?

wave wave wave wave wave