VBA xml to json problem


New Member
Sep 12, 2014

I have a problem with the MSXML2.XMLHTTP object in VBA.
I need to send a message in json but the auth token has double quotes in it. So in order for those double quotes to arrive in the message a backslash is used. Now by parsing the xml to Json the xmlhttp object adds an extra backslash.

Basically I send this
"Token token=\x22AAA\x22"

And the server receives this
"Token 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
    If .Status = 200 Then
      Debug.Print .responseText
      MsgBox .getAllResponseHeaders
      Debug.Print .Status & ": " & .statusText
    End If
  End With

End Sub
Last edited:

Some videos you may like

Excel Facts

Back into an answer in Excel
Use Data, What-If Analysis, Goal Seek to find the correct input cell value to reach a desired result

Watch MrExcel Video

Forum statistics

Latest member

This Week's Hot Topics

  • Timer in VBA - Stop, Start, Pause and Reset
    [CODE=vba][/CODE] Option Explicit Dim CmdStop As Boolean Dim Paused As Boolean Dim Start Dim TimerValue As Date Dim pausedTime As Date Sub...
  • how to updates multiple rows in muliselect listbox
    Hello everyone. I need help with below code. code is only chaning 1st row in mulitiselect list box. i know issue with code...
  • Delete Row from Table
    I am trying to delete a row from a table using VBA using a named range to find what I need to delete. My Range is finding the right cell. In the...
  • Assigning to a variable
    I have a for each block where I want to assign the value in column 5 of the found row to the variable Serv. [CODE=vba] For Each ws In...
  • Way to verify information
    Hi All, I don't know what to call this formula, and therefore can't search. I have a spreadsheet with information I want to reference...
  • Active Cell Address – Inactive Sheet
    How to use VBA to get the cell address of the active cell in an inactive worksheet and then place that cell address in a location on the current...