我正在 Microsoft Access 中构建报告仪表板,该仪表板的组件之一需要从 Google Analytics 中提取数据。我可以从 Google API 轻松获得身份验证代码,但在将身份验证代码交换为访问令牌和刷新令牌时遇到了问题。我尝试了很多不同的东西,但你可以在下面找到我当前的代码。
Public Sub RefreshTokenFetch()
Dim xml As MSXML2.XMLHTTP60
Dim url As String
url = "accounts.google.com/o/auth2/token?code=" & code & "&client_id=" & clientid & "&client_secret=" & secret & "&redirect_uri=" & redirect & "&grant_type=authorization_code"
Set xml = CreateObject("MSXML2.XMLHTTP.6.0")
With xml
.Open "POST", url
.setRequestHeader "content-type", "application/x-www-form-urlencoded"
.send
End With
End Sub
当我尝试运行上述代码时,它总是会在“.send”行中跳闸,并说“在调用 send 方法后无法调用此方法”。
我尝试查找一些 VB Oauth 代码,但在查找 Oauth 流的身份验证令牌和刷新令牌状态时遇到了麻烦。一旦令牌得到保护,所有其他问题和示例代码都适用于实际的 Google API 查询阶段。