У меня проблема с объектом MSXML2.XMLHTTP в VBA.Мне нужно отправить сообщение в формате json, но токен аутентификации содержит двойные кавычки.Таким образом, чтобы эти двойные кавычки появились в сообщении, используется обратный слеш.Теперь, анализируя xml для Json, объект xmlhttp добавляет дополнительную обратную косую черту.
В основном я отправляю этот токен Token = \ x22AAA \ x22
И сервер получает этот токен Token = \\ x22AAA \\ x22 "
Sub cmdOAuth2_Click()
Dim webServiceURL As String
Dim actionType As String
Dim targetWord As String
Dim actionType2 As String
Dim targetWord2 As String
webServiceURL = "https://api.esios.ree.es/archives"
actionType = "Accept"
targetWord = "application/json"
actionType2 = "Content-Type"
targetWord2 = "application/json"
actionType3 = "Host"
targetWord3 = "api.esios.ree.es"
actionType4 = "Authorization"
targetWord4 = "Token token=\x22AAA\x22"
actionType5 = "Cookie"
targetWord5 = " "
With CreateObject("MSXML2.XMLHTTP")
.Open "GET", webServiceURL, False
.setRequestHeader actionType, targetWord
.setRequestHeader actionType2, targetWord2
.setRequestHeader actionType3, targetWord3
.setRequestHeader actionType4, targetWord4
.setRequestHeader actionType5, targetWord5
.send
If .Status = 200 Then
Debug.Print .responseText
MsgBox .getAllResponseHeaders
Else
Debug.Print .Status & ": " & .statusText
End If
End With
End Sub