WinHttpRequest con login e password - Varie Bloglines - Esempi di codice VBA

Sommario

Ho appreso dalla cartella di lavoro di Amazon Web Services che è estremamente facile accedere a un servizio Web REST utilizzando VBA e importare i dati in un elenco XML.

Un pezzo mancante dopo aver visualizzato la cartella di lavoro di Amazon era come inviare anche un login e una password con una richiesta, se necessario. Risulta essere molto semplice. Per inviare login e password basta aggiungere un comando aggiuntivo WinHttpRequest.SetCredentials (Codice di esempio sotto)

Ultimamente ho cercato di migliorare la mia conoscenza XML (o la sua mancanza) lavorando su un progetto di apprendimento utilizzando i servizi Web Bloglines, che consente richieste HTTP e restituisce XML (OPML, elementi non letti, ecc.).

La curva di apprendimento che ho incontrato era invece di spingere semplicemente l'XML attraverso una mappa nelle celle, volevo usare MSXML2 (il parser XML di Excel) per ottenere il controllo totale dei dati per popolare Treeview, Listbox e altre cose UserForm.

L'obiettivo del progetto è leggere le mie iscrizioni alle blogline in Excel (ho finito al 60%), una sorta di versione Bloglines di EZRSS di Colo, quindi eventualmente trasferire lo sforzo su OutLook quando avrò finito (un'altra curva di apprendimento).

Ecco un codice di esempio per inserire le tue iscrizioni Bloglines in Excel, invia il tuo nome utente e password per l'autenticazione:

 'HttpRequest SetCredentials flag. Const HTTPREQUEST_SETCREDENTIALS_FOR_SERVER = 0 Private Sub ListSubs() Dim MyRequest As New WinHttpRequest MyRequest.Open "GET", _ "http://rpc.bloglines.com/listsubs" 'Imposta credenziali MyRequest.SetCredentials "USERNAME", "PASSWORD", _ HTTPREQUEST_SETCREDENTIALS_FOR_SERVER ' Invia richiesta. MyRequest.Send 'E otteniamo questa risposta MsgBox MyRequest.ResponseText End Sub 

Appunti:

Imposta un riferimento a Microsoft WinHTTP Services

Sostituisci USERNAME e PASSWORD con le informazioni di Bloglines

Questo restituisce l'XML a un msgbox per la dimostrazione, puoi importarlo in una mappa o caricarlo in un MSXML2.DOMDocument (ho un codice funzionante, sto ancora sperimentando, seguirò). Ecco un frammento di msgbox:

Aiuterete lo sviluppo del sito, condividere la pagina con i tuoi amici

wave wave wave wave wave