Я работаю над интеграцией 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
Это работает и возвращает мне данные, которые мне нужны. Я делаю что-то неправильно? Могу ли я получить переменные данные в заголовке запроса?