成功获取授权码后,我在尝试访问Google Calendar API时无法访问令牌和刷新令牌时遇到问题。我收到错误404 Not Found。这里是我的代码:使用VBA和Oauth2交换Google Calendar API的访问令牌的授权码
Dim getTokenUrl As String
getTokenUrl = "https://accounts.google.com/o/auth2/token"
Dim getTokenBody As String
getTokenBody = "code=" & code & _
"&redirect_uri=urn:ietf:wg:oauth:2.0:oob" & _
"&client_id=xxxxxxx-xxxxxxxx.apps.googleusercontent.com" & _
"&client_secret={myLittleSecret}" & _
"&grant_type=authorization_code"
Dim Http As MSXML2.XMLHTTP60
Set Http = CreateObject("MSXML2.XMLHTTP.6.0")
With Http
.Open "POST", getTokenUrl, False
.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
.send(getTokenBody)
End With
Do While Http.ReadyState <> 4
Loop
Debug.Print Http.responseText
我也试图把一切都在。开法并没有什么的方法。发送的网址参数:
Dim getTokenUrl As String
getTokenUrl = "https://accounts.google.com/o/oauth2/token&code=" & code & "&client_id=xxxxxx-xxxxxx.apps.googleusercontent.com&client_secret={myLittleSecret}&redirect_uri=urn:ietf:wg:oauth:2.0:oob&grant_type=authorization_code"
Dim Http As MSXML2.XMLHTTP60
Set Http = CreateObject("MSXML2.XMLHTTP.6.0")
With Http
.Open "POST", getTokenUrl, False
.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
.send("")
End With
我一直在使用WinHttp.WinHttpRequest,而不是试图MSXML2.XMLHTTP。
我试过用http://localhost
而不是urn:ietf:wg:oauth:2.0:oob。
我试过制作http://localhost
和urn:ietf:wg:oauth:2.0:oob url编码。
所有提供错误404 Not Found。
有人可以帮助指向正确的方向吗?
嘿@autoKarma您能否请您发布用于获取授权码的VBA代码?我无法在任何地方找到明确的说明,谢谢! – Bruder 2015-08-18 16:54:09