Из книги Amazon Web Services я узнал, что чрезвычайно легко получить доступ к веб-сервису REST с помощью VBA и импортировать данные в список XML.
После просмотра книги Amazon не хватало одной части: как при необходимости отправить логин и пароль с запросом. Оказывается, все очень просто. Для отправки логина и пароля просто добавьте одну дополнительную команду WinHttpRequest.SetCredentials (пример кода ниже)
В последнее время я пытался улучшить свои знания XML (или их отсутствие), работая над учебным проектом с использованием веб-служб Bloglines, которые разрешают запросы HTTP и возвращают XML (OPML, непрочитанные элементы и т. Д.).
Кривая обучения, с которой я столкнулся, заключалась в том, что вместо того, чтобы просто проталкивать XML через карту в ячейки, я хотел использовать MSXML2 (XML-синтаксический анализатор Excel), чтобы получить полный контроль над данными для заполнения Treeviews, Listboxes и других элементов UserForm.
Цель проекта - прочитать мои подписки на блог в Excel (я готов на 60%), вроде как в версии EZRSS от Colo для Bloglines, а затем, возможно, перенести усилия в OutLook, когда я закончу (еще одна кривая обучения).
Вот пример кода для извлечения ваших подписок на Bloglines в Excel, он отправляет ваше имя пользователя и пароль для аутентификации:
'HttpRequest SetCredentials flags. Const HTTPREQUEST_SETCREDENTIALS_FOR_SERVER = 0 Private Sub ListSubs () Dim MyRequest As New WinHttpRequest MyRequest.Open "GET", _ "http://rpc.bloglines.com/listsubs" 'Установить учетные данные MyRequest.SetCredentials "PASSWORD", "_ HTTPREQUEST_SETCREDENTIALS_FOR_SERVER 'Отправить запрос. MyRequest.Send 'И получаем ответ MsgBox MyRequest.ResponseText End Sub
Примечания:
Установить ссылку на Microsoft WinHTTP Services
Замените USERNAME и PASSWORD информацией о ваших блогах.
Это возвращает XML в msgbox для демонстрации, вы можете импортировать его как карту или загрузить в MSXML2.DOMDocument (у меня есть рабочий код, я все еще экспериментирую, я буду следить). Вот фрагмент сообщения msgbox: