从Excel VBA调用RESTful API

时间:2017-01-30 02:37:21

标签: excel vba excel-vba rest api

我尝试使用Excel VBA访问http://api.football-data.org/index的在线API,最终只需点击一下按钮即可填充Excel工作表。目前我有:

Sub apiTest()
  Dim oRequest As Object
  Set oRequest = CreateObject("WinHttp.WinHttpRequest.5.1")
  oRequest.Open "GET", "http://api.football-data.org/v1/competitions/354/fixtures/?matchday=22", False
  oRequest.SetRequestHeader "X-Auth-Token", "replace this with my api token"
  oRequest.Send
  MsgBox oRequest.ResponseText
End Sub

根据该网站,我需要做的就是在标题中添加X-Auth-Token字段,它应该可以工作。但是,当我尝试运行时,响应主体说"您正在寻找的资源受到限制"。我不正确地使用WinHTTPRequest吗?

1 个答案:

答案 0 :(得分:1)

我查了its documentation。错误(403 Restricted Resource)与以下内容有关:

  • 该资源仅适用于经过身份验证的客户端
  • 该资源仅供捐赠客户使用
  • 您正在使用的API版本中没有该资源

此外,X-Response-Control似乎包含在请求标题中(请参阅文档)。