Z nějakého důvodu to dráty nikdy řádně nepřekročily; protože můžete importovat XML do Excelu přímo z adresy URL, není nutné používat WINHTTP k provádění jednoduchých dotazů na REST webové služby.
Původně jsem tuto techniku začal používat po zobrazení kódu Amazon Web Services, který používá WinHTTP, ale není to nutné pouze pro vyžádání XML z webové služby.
Důkaz koncepce: Zde je ukázka použití rozhraní Yahoo News Search API k získání nejnovějších zpráv Yahoo na téma „Dan Rather“ do Excelu. To vyžaduje verzi Excelu, která podporuje XML:
1. Zvýrazněte a zkopírujte toto URl:
http://api.search.yahoo.com/WebSearchService/V1/webSearch?appid=YahooDemo&query=Dan+Rather&results=10
2. V aplikaci Excel přejděte na Data-> XML-> Import
3. Do pole Název souboru pomocí zkratky Vložit (CTRL-V) zadejte adresu URL, kterou jste právě zkopírovali, a stiskněte klávesu Enter.
4. Excel vás vyzve k zadání buňky do seznamu výsledků Yahoo News
Právě se nám podařilo použít službu Yahoo Rest Webservice k přenosu dat do aplikace Excel bez WINHTTP. Mějte na paměti, že je to příklad holých kostí. Chcete -li to vysvětlit, přidejte mapu do sešitu a použijte XMLMaps.import namísto příkladů WINHTTP, které používám.
Kdy bych aktuálně používal WINHTTP s webovými službami REST? Můj zatím nejlepší odhad:
1. Když je pro službu vyžadováno přihlášení. V takovém případě musím použít SetCredentials
2. Když nechci importovat data XML do mapy XML, chci pouze nezpracovaná data. Například chci manipulovat s daty před jejich zápisem do tabulky nebo případně procházet XML a vybrat a zvolit, která data se mají zobrazit na základě vlastních kritérií.
Nakonec XMLMAPS.Import a WINHTTP fungují pro náročné webové služby REST, nicméně ten druhý vyžaduje několik dalších řádků kódu. Budu klopýtat s webovými službami, dokud se to nenaučím (a samozřejmě: opravit to správně). Zajímalo by mě, jestli má někdo jiný REST příklady pomocí Excelu?