带有X-Auth-Token的VBA API POST

带有X-Auth-Token的VBA API POST,vba,excel,curl,Vba,Excel,Curl,我有下面的curl代码,我正试图将其转换为VBA for excel Endpoint : http://api.datadoctorit.com/email-validate Request Type : POST curl_setopt( $ch, CURLOPT_HTTPHEADER, array( 'Content-Type: application/json', 'Content-Length: ' . strlen(

我有下面的curl代码,我正试图将其转换为VBA for excel

   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'
        ) );
下面是我想出的代码:

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
我不断地发现这个错误:

" {“错误”:“您需要先登录或注册,然后才能继续。”“}”


添加身份验证可以通过您的Base 64授权完成(由基本授权API调用的用户名和密码生成)

只需添加以下内容:

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


(一个真正的身份验证代码大约50个字符长)

X-Auth-Token
是一个头,因此可能看起来像
hReq.SetRequestHeader“X-Auth-Token”,Token
后跟一个
hReq.Send
尝试了以下变化,但结果相同:hReq.SetRequestHeader“X-Auth-Token”,Token看看
hReq.SetRequestHeader "Content-Type", "application/json"
hReq.setRequestHeader "Authorization", "Basic cHBzX2NyZWdJIYXAhjhjdjsfhjdshakjfdhakfhjk5c0AjMTZAY3JlZ"