VBA xml to json problem

Freeb0

New Member
Joined
Sep 12, 2014
Messages
7
Hello,

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"


Code:
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
 
Last edited:

Excel Facts

What is the fastest way to copy a formula?
If A2:A50000 contain data. Enter a formula in B2. Select B2. Double-click the Fill Handle and Excel will shoot the formula down to B50000.

Forum statistics

Threads
1,214,617
Messages
6,120,541
Members
448,970
Latest member
kennimack

We've detected that you are using an adblocker.

We have a great community of people providing Excel help here, but the hosting costs are enormous. You can help keep this site running by allowing ads on MrExcel.com.
Allow Ads at MrExcel

Which adblocker are you using?

Disable AdBlock

Follow these easy steps to disable AdBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the icon in the browser’s toolbar.
2)Click on the "Pause on this site" option.
Go back

Disable AdBlock Plus

Follow these easy steps to disable AdBlock Plus

1)Click on the icon in the browser’s toolbar.
2)Click on the toggle to disable it for "mrexcel.com".
Go back

Disable uBlock Origin

Follow these easy steps to disable uBlock Origin

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back

Disable uBlock

Follow these easy steps to disable uBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back
Back
Top