【问题标题】:Exporting XML file through API通过 API 导出 XML 文件
【发布时间】: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/…

标签: vba excel api post


【解决方案1】:

我无法访问那个地址,它有效吗?

否则这里是一般结构(对于代码来说太长了,无法注释)

Option Explicit

Const SXH_SERVER_CERT_IGNORE_ALL_SERVER_ERRORS = 13056
Sub HTTPPost()
  'create an xml object
    Dim oXML As Object, oHTTP 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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多