Как отправить переменные в .SetRequestData в Excel VBA - PullRequest
0 голосов
/ 25 апреля 2019

Я работаю над интеграцией API на своем рабочем листе Excel с использованием VBA и пытаюсь отправить пользовательские данные в ячейку, отправленную в RequestHeader, чтобы найти продукт на сервере

Я пытался импортировать данные непосредственно с листа в строку, а затем отправлять эту строку в качестве значения для заголовка, но, похоже, я не могу заставить его работать. Я новичок во всем этом VBA, поэтому я честно не знаю, возможно ли это. Вот что я попробовал:

Sub GetCompanyInformation()
Dim hReq As Object, JSON As Dictionary
Dim i As Long
Dim var As Variant
Dim ws As Worksheet


Set ws = Sheet1

'create our URL string and pass the user entered information to it
Dim strUrl As String
    strUrl = "My API URL Goes Here"

Dim cod As String
    cod = ws.[MYCELL]

Set hReq = CreateObject("MSXML2.XMLHTTP")
    With hReq
        .Open "GET", strUrl, False
        .SetRequestHeader "cache-control", "no-cache"
        .SetRequestHeader "data_filter", ""
        .SetRequestHeader "data", "products"
        .SetRequestHeader "data_id", cod
        .Send
    End With
[...]

Возвращает пустую строку. Однако, если я отправлю запрос с тем же номером, я добавлю в свою ячейку следующую строку:

  [...]
     Set hReq = CreateObject("MSXML2.XMLHTTP")
    With hReq
        .Open "GET", strUrl, False
        .SetRequestHeader "cache-control", "no-cache"
        .SetRequestHeader "data_filter", ""
        .SetRequestHeader "data", "products"
        .SetRequestHeader "data_id", "1234"
        .Send
    End With

Это работает и возвращает мне данные, которые мне нужны. Я делаю что-то неправильно? Могу ли я получить переменные данные в заголовке запроса?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...