Ich versuche derzeit, MSXML2.ServerXMLHTTP zu verwenden, um eine POST http-Anforderung zu senden. Ich muss einen benutzerdefinierten Header "Auth" hinzufügen, damit meine Anfragen autorisiert werden, aber es scheint nicht zu funktionieren. Hier ist der Code für meine Post-Funktion:Benutzerdefinierter Header mit MSXML2.ServerXMLHTTP
Function post(path As String, authToken As String, postData As String) As String
Dim xhr As Object
Dim message As String
On Error GoTo error:
Set xhr = CreateObject("MSXML2.ServerXMLHTTP")
xhr.Open "POST", path, False
xhr.setRequestHeader "Content-Type", "application/json"
xhr.setRequestHeader "Auth", authToken
xhr.send postData
If xhr.Status = 200 Then
message = xhr.responseText
Else
message = xhr.Status & ": " & xhr.statusText
End If
Set xhr = Nothing
post = message
error:
Debug.Print "Error " & Err.Number; ":" & Err.Description
End Function
Und ich am Ende mit „Error -2147012746 Gewünscht Überschrift wurde nicht gefunden“ (Die Meldung wird tatsächlich übersetzt, da ich eine andere Sprache auf meinem Computer verwenden).
Allerdings hatte ich dieses Problem mit dem "Microsoft.XMLHTTP" -Objekt nicht. Mache ich etwas falsch?
Vielen Dank für Ihre Zeit.
sicher, dass Ihre Header "Auth" genannt, nicht "Autorisierung"? Versuchen Sie 'xhr.SetRequestHeader" Authorization ", authToken' –
Ja, es heißt" Auth "und leider ist es nicht möglich, es zu diesem Zeitpunkt zu ändern (es wurde nicht von mir erstellt und es wird bereits von mehreren Clients verwendet) :( –