【发布时间】:2018-11-24 16:03:23
【问题描述】:
我刚刚发布了关于使用 VBA 的 HTTP GET 请求的问题,并且我刚刚使用前一篇文章中给我的建议解决了这个问题。我从“SetRequestHeader”中取出“Basic”,并且能够看到数据。由于我的数据是 JSON 格式,我必须正确请求数据并将其存储到文本文件中。
在我的代码中,我将 P = JSON.parse(XMLHttpReq.responseText) 设置为未定义,我应该在这段代码中定义什么 JSON?由于这个问题,我无法运行它。
如果有人对此或其他建议有任何问题,请告诉我!
我在下面添加了一些 VBA 代码来处理请求。
Sub Test()
Dim sUrl As String, sAuth As String
Dim P As Object
Dim XMLHttpReq As MXXML2.ServerXMLHTTP
sUrl = "https://api.ngs.nfl.com/tracking/game/play?gameKey=57444&playId=51"
sAuth = "NGS AKIAIX2CQ7IEOKPOTKDQ:uNniaOp4jH8jcK9i/EtQhurlilc="
With CreateObject("MSXML2.XMLHTTP")
.Open "GET", sUrl, False
.setRequestHeader "Authorization", "Basic " & sAuth
.send
If XMLHttpReq.ReadyState = 4 Then
If XMLHttpReq.Status = 200 Then
' Process the JSON response here
Debug.Print "200 received"
Set P = JSON.parse(XMLHttpReq.responseText)
Else
If XMLHttpReq.Status = 404 Then
' Handle it
End If
End If
Debug.Print .getAllResponseHeaders
End With
End Sub
【问题讨论】:
-
如果您需要将数据转换为二维数组或显示在工作表上,请查看this solution。
标签: json vba http ms-access xmlhttprequest