【发布时间】:2018-06-04 12:21:50
【问题描述】:
如何通过 API 上传 XML 工作表详细信息。当我使用下面给定的 VBA 代码时,我收到了一个类似认证错误的错误。
Sub HTTPPost()
'create an xml object
Dim oXML As Object
Set oXML = CreateObject("MSXML2.DOMDocument")
oXML.async = False
Set oHTTP = CreateObject("MSXML2.ServerXMLHTTP")
oHTTP.setOption(2) = (oHTTP.getOption(2) - SXH_SERVER_CERT_IGNORE_ALL_SERVER_ERRORS)
oHTTP.Open "POST", "https://isp-api-is1-test.prg-dc.com/gateway/CustomerOrder/1.0/CustomerOrder", False
oHTTP.setRequestHeader "Username_IT", "onLwEa54"
oHTTP.setRequestHeader "Content-Type", "application/xml"
oHTTP.setRequestHeader "Accept", "application/xml"
oHTTP.setRequestHeader "APIKey", "163c4821-5a6c-499e-9a9c-ca8b5659e530"
oXML.Load ("C:\Users\nypaul\Downloads\API_CustomerOrder_AFR_V1_52.xml")
oHTTP.send oXML
End Sub
【问题讨论】:
-
以上内容不会为我编译(因为我有 Option Explicit on)。请将 Option Explicit 放在你的模块顶部并声明所有变量并显示它们的分配(或屏蔽分配)。例如,什么是 SXH_SERVER_CERT_IGNORE_ALL_SERVER_ERRORS ?这是否在您的代码中的其他地方声明为常量?
-
@QHarr,我是 vba 的新手,你能告诉我示例结构吗,这对我有很大帮助。
-
看起来你在追求类似stackoverflow.com/a/11600385/6241235
-
把它也放在代码的顶部 Const SXH_SERVER_CERT_IGNORE_ALL_SERVER_ERRORS = 13056 experts-exchange.com/questions/28349681/…