BjorntobeWild
Gebruiker
- Lid geworden
- 29 aug 2011
- Berichten
- 120
Goedendag,
Ik probeer vanuit Excel middels VBA data te zenden naar een website.
Indien ik de parameters als volgt achter de url plak parameter1=value1¶meter2=value2, etc. wordt de data zonder fouten verzonden.
Nu wil ik de data verzenden volgens een Json-format. Helaas krijg ik hierbij onderstaande foutmelding:
De parameters in Json opmaak kunnen vanuit een cel worden opgehaald of vanuit een Json bestand (zie code hieronder). In beide gevallen krijg ik bovenstaande foutmelding.
Enig idee of het mogelijk is wat ik wil of maak ik ergens een fout?
Hier de code van mijn VBA-script.
Ik probeer vanuit Excel middels VBA data te zenden naar een website.
Indien ik de parameters als volgt achter de url plak parameter1=value1¶meter2=value2, etc. wordt de data zonder fouten verzonden.
Nu wil ik de data verzenden volgens een Json-format. Helaas krijg ik hierbij onderstaande foutmelding:
Code:
{ "ResponseStatus": {
"ErrorCode": "415",
"Message": "Your request must specify JSON or XML format. Do this by adding 'format=xml/json' to your URL query string, or by setting a request header of Content-Type to be 'application/json' or 'application/xml'.",
"Errors": [{
"ErrorCode": "415",
"FieldName": "",
"Message": "Your request must specify JSON or XML format. Do this by adding 'format=xml/json' to your URL query string, or by setting a request header of Content-Type to be 'application/json' or 'application/xml'."
}]
}
}
De parameters in Json opmaak kunnen vanuit een cel worden opgehaald of vanuit een Json bestand (zie code hieronder). In beide gevallen krijg ik bovenstaande foutmelding.
Code:
{
"UserId": "",
"UserEmail": "",
"UserExternalId": "100025",
"Title": "test",
"Body": "bericht",
"Sound": true,
"ExpirySecs": 0,
"CompanyId": 00000,
"IntegrationKey": "xxxxxxxxxxxxxxxxxxxxxxx"
}
Hier de code van mijn VBA-script.
Code:
Sub test_API()
Dim objHTTP As Object
Dim URL As String
Dim Data As String
Dim result As String
Dim FSO As New FileSystemObject
Data = Range("D22")
Set objHTTP = CreateObject("MSXML2.ServerXMLHTTP")
URL = "https://mijnurl.nl:443/api/v2/push?"
objHTTP.Open "POST", URL, False
objHTTP.setRequestHeader "Content-type", "application/json" 'if you have/need headers
objHTTP.send Data
result = objHTTP.responseText
'Some simple debugging
Range("B22").Value = result
Range("D22").Value = Data
Set objHTTP = Nothing
End Sub