我正在尝试在 vba 上使用基于令牌的身份验证(新的首选方法)对 walmart.com 进行身份验证。您可以在此处阅读更多信息:https ://developer.walmart.com/#/apicenter/marketPlace/latest#introduction
错误消息的原因可能是什么?如何修复此错误?毕竟,代码中不需要 Consumer id。
Base64EncodeString 是我的个人功能。我通过将结果与网络资源进行比较来检查它是如何工作的。
WalmartAPIUserKey - 我的 ClientID
WalmartSecretKey - 我的 ClientSecret
Dim xmlhttp As New MSXML2.XMLHTTP60
Dim encodeData As String
encodeData = Base64EncodeString(WalmartAPIUserKey & ":" & WalmartSecretKey)
xmlhttp.Open "POST", "https://marketplace.walmartapis.com/v3/token", False
xmlhttp.SetRequestHeader "WM_SVC.NAME", "Walmart marketplace"
xmlhttp.SetRequestHeader "WM_QOS.CORRELATION_ID", "123456abcdef"
xmlhttp.SetRequestHeader "Authorization", "Basic " & encodeData
xmlhttp.SetRequestHeader "Content-Type", "application/x-www-form-urlencoded"
xmlhttp.SetRequestHeader "Accept", "application/xml"
xmlhttp.send
MsgBox (xmlhttp.responseText)
Debug.Print (xmlhttp.responseText)
Set xmlhttp = Nothing
但是,我收到以下错误:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ns2:errors xmlns:ns2="http://walmart.com/">
<ns2:error>
<ns2:code>SYSTEM_ERROR.GMP_GATEWAY_API</ns2:code>
<ns2:description>consumer id not found in PRS</ns2:description>
<ns2:info>System encountered some internal error.</ns2:info>
<ns2:severity>ERROR</ns2:severity>
<ns2:category>DATA</ns2:category>
<ns2:causes/>
<ns2:errorIdentifiers/>
</ns2:error>
</ns2:errors>