VBA – WinHttpRequest com Login e Senha – Misc Bloglines
Aprendi com a pasta de trabalho do Amazon Web Services que é extremamente fácil acessar um serviço da Web REST usando o VBA e importar os dados para uma lista XML.
Uma peça que faltava depois de ver a pasta de trabalho da Amazon era como enviar também um login e uma senha com uma solicitação, se necessário. Isso é muito simples. Para enviar um login e uma senha, basta adicionar um comando WinHttpRequest.SetCredentials (exemplo de código abaixo).
Ultimamente, tenho tentado aprimorar meu conhecimento sobre XML (ou a falta dele) trabalhando em um projeto de aprendizado usando os serviços da Web do Bloglines, que permitem solicitações HTTP e retornam XML (OPML, itens não lidos etc.).
A curva de aprendizado que encontrei foi que, em vez de simplesmente inserir o XML em células por meio de um mapa, eu queria usar o MSXML2 (analisador de XML do Excel) para obter controle total dos dados para preencher visualizações em árvore, caixas de listagem e outros itens de formulários de usuário.
O objetivo do projeto é ler minhas assinaturas do Bloglines no Excel (já terminei 60%), como uma versão do Bloglines do EZRSS do Colo, e depois possivelmente portar o esforço para o OutLook quando terminar (outra curva de aprendizado).
Aqui está um exemplo de código para extrair suas assinaturas do Bloglines para o Excel, enviando seu nome de usuário e senha para autenticação:
'HttpRequest SetCredentials flags.
Const HTTPREQUEST_SETCREDENTIALS_FOR_SERVER = 0
Private Sub ListarAssinaturas()
Dim MeuPedido As New WinHttpRequest
MeuPedido.Open "GET", _
"http://rpc.bloglines.com/listsubs"
'Definir credenciais
MeuPedido.SetCredentials "USERNAME", "PASSWORD", _
HTTPREQUEST_SETCREDENTIALS_FOR_SERVER
' Enviar solicitação.
MeuPedido.Send
'E recebemos esta resposta
MsgBox MeuPedido.ResponseText
End Sub
Observações
Defina uma referência ao Microsoft WinHTTP Services
Substitua USERNAME e PASSWORD por suas informações do Bloglines
Isso retorna o XML a uma caixa de mensagem para demonstração; você pode importá-lo para um mapa ou carregá-lo em um MSXML2.DOMDocument (tenho um código funcional, mas ainda estou experimentando, vou acompanhar). Aqui está um trecho da caixa de mensagens:
Codificação VBA facilitada
Pare de procurar códigos VBA on-line. Saiba mais sobre o AutoMacro – um construtor de código VBA que permite que os iniciantes codifiquem procedimentos do zero com o mínimo de conhecimento de codificação e com muitos recursos que economizam tempo para todos os usuários!