Vb.net REST从VB EXCEL与BigCommerce交互
注意:进一步的研究(还有厚厚的皮肤和大量的咖啡)表明商店无法接收URL中的uid和pwd,我从PHP示例中收集到传输需要加密。这是我的问题吗?如果是这样的话,我还没有找到任何关于如何解决这个问题的方法 如果open()命令提示UID&PWD窗口打开,并且我可以手动输入值,我会很高兴。有人有什么建议吗。谢谢Vb.net REST从VB EXCEL与BigCommerce交互,vb.net,rest,bigcommerce,Vb.net,Rest,Bigcommerce,注意:进一步的研究(还有厚厚的皮肤和大量的咖啡)表明商店无法接收URL中的uid和pwd,我从PHP示例中收集到传输需要加密。这是我的问题吗?如果是这样的话,我还没有找到任何关于如何解决这个问题的方法 如果open()命令提示UID&PWD窗口打开,并且我可以手动输入值,我会很高兴。有人有什么建议吗。谢谢 我正在学习如何使用BigCommerce API,我正在用VB/XL编程,以便能够直接发布/检索商店数据库中的所有字段 我以前从未在这上面写过代码(尽管我已经学会了VB OK),我被卡住了。
我正在学习如何使用BigCommerce API,我正在用VB/XL编程,以便能够直接发布/检索商店数据库中的所有字段 我以前从未在这上面写过代码(尽管我已经学会了VB OK),我被卡住了。我有以下代码:
Const URL As String = "https://www.myurl.com/api/v2/brands.json"
Public Sub Test()
Dim xmlHttp As Object
Set xmlHttp = CreateObject("MSXML2.ServerXMLHTTP.6.0")
xmlHttp.Open "GET", URL, False, "myid", "mytoken"
xmlHttp.setRequestHeader "Content-Type", "application/json"
xmlHttp.send
Dim html As MSHTML.HTMLDocument
Set html = New MSHTML.HTMLDocument
html.body.innerHTML = xmlHttp.ResponseText
Range("A1").Value = html.body.innerHTML
End Sub
我得到的是“401”,或者更准确地说:
[{"status":401,"message":"No credentials were supplied in the request."}]
凭据有效且有效,就像我在浏览器中放置URL并提交它一样,UID和PWD的弹出窗口会出现,并且一旦我在代码中放置了我正在使用的值,生成的品牌列表就会显示在浏览器中
此外,如果我向URL添加一个“rand num”以确保返回的数据未按建议进行缓存,则请求如下所示:
xmlHttp.Open "GET", URL & "&t=" & WorksheetFunction.RandBetween(1, 99), False, `"myid", "mytoken"`
BC返回的响应更改为:
406</STATUS><MESSAGE>The requested content type is not available.</MESSAGE></ERROR></ERRORS>
我得到:
406</STATUS><MESSAGE>The requested content type is not available.</MESSAGE></ERROR></ERRORS>
406请求的内容类型不可用。
有人能帮我理解吗。我已经学习了MSDN的例子,但我仍然被卡住了。BC API站点在VB的示例中很差(实际上没有!)
谢谢你!BC要求:
Set xmlHttp = CreateObject("MSXML2.ServerXMLHTTP.6.0")
xmlHttp.Open "GET", URL_Cat, UID, PWD
xmlHttp.setRequestHeader "Content-Type", "application/json"
xmlHttp.setRequestHeader "Authorization", "Basic " & Base64Encode(UID & ":" & PWD)
xmlHttp.send
我从中得到Base64编码代码。希望这对别人有帮助
Set xmlHttp = CreateObject("MSXML2.ServerXMLHTTP.6.0")
xmlHttp.Open "GET", URL_Cat, UID, PWD
xmlHttp.setRequestHeader "Content-Type", "application/json"
xmlHttp.setRequestHeader "Authorization", "Basic " & Base64Encode(UID & ":" & PWD)
xmlHttp.send