2017-05-27 6 views
0

Ich habe den folgenden curl Code, die ich für ExcelVBA API POST mit X-Auth-Token

Endpoint : http://api.datadoctorit.com/email-validate 
    Request Type : POST 
    curl_setopt($ch, CURLOPT_HTTPHEADER, array(
      'Content-Type: application/json', 
      'Content-Length: ' . strlen($data), 
      'X-Auth-Token: XXXXXXX' 
     )); 

hier, um VBA zu konvertieren Ich versuche ist der Code, den ich kam mit:

Dim strURL As String 
Dim hReq As WinHttpRequest: Set hReq = CreateObject("WinHttp.WinHttpRequest.5.1") 
Dim strResp As String 
Dim Token As String 
Token = mytoken 
strURL = "http://api.datadoctorit.com/email-validate" 
hReq.Open "POST", strURL, False 
hReq.SetRequestHeader "Content-Type", "application/json" 
hReq.Send "X-Auth-Token" & ":" & token 
strResp = hReq.ResponseText 
MsgBox strResp 

ich halte diesen Fehler:

" {""error"":""You need to sign in or sign up before continuing.""}"

+1

'X-Auth-Token' ist ein Header so wahrscheinlich wie' hReq.SetRequestHeader "X-Auth-Token" aussehen sollte, token' gefolgt von einem 'hReq.Send' – ccpizza

+0

Versucht die folgende Variante mit dem gleichen Ergebnis: hReq.SetRequestHeader" X-Auth-Token ", Token –

+0

Werfen Sie einen Blick auf https://stackoverflow.com/questions/158633/how- can-i-send-an-http-post-Anfrage-an-einen-Server-von-Excel-Using-VBA – ccpizza

Antwort

1

Authentifizierung Hinzufügen mit Ihrer Base 64 Genehmigung durchgeführt werden kann (aus dem Benutzernamen und pas erzeugt Schwert des Anrufs Basis-Autorisierungs-API)

folgendes Fügen Sie einfach:

hReq.setRequestHeader "Authorization", "Basic " & authCode 

zB.

hReq.SetRequestHeader "Content-Type", "application/json" 
hReq.setRequestHeader "Authorization", "Basic cHBzX2NyZWdJIYXAhjhjdjsfhjdshakjfdhakfhjk5c0AjMTZAY3JlZ" 

(ein echter Auth-Code ist etwa 50 Zeichen lang)