成功獲取授權碼後,我在嘗試訪問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