Json 在xml请求中传递用户ID和密码

Json 在xml请求中传递用户ID和密码,json,xml,vba,ms-access,msxml,Json,Xml,Vba,Ms Access,Msxml,我有一个潜在客户,他想通过VBA从网站上获取一些数据。我不熟悉XML和JSON 我在某个地方找到了一个链接,提供了以下代码,该代码使用MSXML从特定网站返回单个项目的数据 Public Function GetItemSalePrice(item As String) As Double Dim dblItem As Long With CreateObject("msxml2.xmlhttp") .Open "GET", "http://www.gw2spidy.com/api/v0

我有一个潜在客户,他想通过VBA从网站上获取一些数据。我不熟悉XML和JSON

我在某个地方找到了一个链接,提供了以下代码,该代码使用MSXML从特定网站返回单个项目的数据

Public Function GetItemSalePrice(item As String) As Double
Dim dblItem As Long
With CreateObject("msxml2.xmlhttp")
    .Open "GET", "http://www.gw2spidy.com/api/v0.9/json/item/" & item, False
    .send
    dblItem = Split(Split(.responsetext, "min_sale_unit_price"":")(1), ",")(0)
    GetItemSalePrice = dblItem / 100
End With
End Function
然而,我的客户想要返回的数据一次最多有500条记录。他表示 他希望传入日期范围和页码,如下所示

但由于这是一个https站点,它需要一个用户ID和密码。我可以简单地重新格式化该字符串以包含userid和password吗?或者MSXML对象是否有其他方法或属性可以设置为身份验证

客户端指示返回值如下所示:

{
"total": 140,
"pages": 28,
"this_page": 1,
"reviews": [{
    "author": "DeveloperToDeveloper",
    "title": "Just Spectacular",
    "review": "Finally able to remove the ads! The description is hilarious!! Thanks!!!",
    "original_title": null,
    "original_review": null,
    "stars": "5.00",
    "iso": "US",
    "version": "1.2",
    "date": "2012-09-19T17:05:00",
    "product": 6567539,
    "weight": 0,
    "id": "5561747L7xnbsMRu8UbPvy7A71Dv6A=="
}]
}

但由于返回了多条记录,一次最多返回500条。有没有一种有效的方法将这种格式的数据读入表中?一次一个或多个记录?显然,我可以编写一个文本解析器,但我认为可能有人已经完成了这项工作。

谢谢Bob。如果解决了身份验证问题,将使用一个弹出对话框输入用户ID和密码,客户端对此感到满意


根据返回字符串的结构,我能够自己解析数据,没有太多困难。

欢迎使用堆栈溢出。请阅读以更好地了解什么是“好”问题。具体来说,这个问题至少涉及三个独立的问题:(1)通过身份验证连接到web服务,(2)向其发送带有参数的搜索请求,以及(3)导入其返回的结果。它们应该是不同的问题。HTTPS与要求身份验证无关。另请参阅以获取
.open
方法的签名。就这点而言,有几个JSON解析器已经或可以适应VBA。用户/PW可以传递到
open
方法,您不必等待弹出对话框。