WinHttpRequest med inloggning och lösenord - Diverse blogginlägg - Exempel på VBA -kod

Innehållsförteckning

Jag lärde mig från Amazon Web Services -arbetsbok att det är extremt enkelt att komma åt en REST -webbtjänst med VBA och importera data till en XML -lista.

En sak som saknades efter att ha sett Amazon -arbetsboken var hur man också skickar en inloggning och lösenord med en begäran om det behövs. Visar sig vara väldigt enkelt. För att skicka inloggning och lösenord, lägg bara till ytterligare ett kommando WinHttpRequest.SetCredentials (exempelkod nedan)

Jag har försökt förbättra min XML -kunskap på sistone (eller brist på sådana) genom att arbeta med ett inlärningsprojekt med hjälp av Bloglines Web Services, som tillåter HTTP -förfrågningar och returnerar XML (OPML, Olästa artiklar, etc.).

Inlärningskurvan jag stötte på var istället för att helt enkelt skjuta XML genom en karta till celler, jag ville använda MSXML2 (Excels XML -parser) för att få total kontroll över data för att fylla i Treeviews, Listboxes och andra UserForm -saker.

Projektmålet är att läsa mina blogglinjeprenumerationer i Excel (jag är 60% klar), ungefär som en Bloglines -version av Colos EZRSS, för att sedan överföra ansträngningen till OutLook när jag är klar (en annan inlärningskurva).

Här är exempelkod för att dra dina Bloglines -prenumerationer till Excel, den skickar ditt användarnamn och lösenord för autentisering:

 'HttpRequest SetCredentials -flaggor. Const HTTPREQUEST_SETCREDENTIALS_FOR_SERVER = 0 Private Sub ListSubs () Dim MyRequest As New WinHttpRequest MyRequest.Open "GET", _ "http://rpc.bloglines.com/listsubs" 'Set credentials MyRequest.SetCredentials "USERNAME", "PASS" HTTPREQUEST_SETCREDENTIALS_FOR_SERVER 'Skicka begäran. MyRequest.Send 'Och vi får det här svaret MsgBox MyRequest.ResponseText End Sub 

Anmärkningar:

Ange en referens till Microsoft WinHTTP -tjänster

Ersätt ANVÄNDARNAMN och LÖSENORD med din Bloglines -information

Detta returnerar XML till en msgbox för demonstration, du kan importera den till en karta eller ladda den till ett MSXML2.DOMDocument (jag har arbetskod, jag experimenterar fortfarande, jag följer upp). Här är ett utdrag av msgboxen:

Du kommer att bidra till utvecklingen av webbplatsen, dela sidan med dina vänner

wave wave wave wave wave