2012-05-22 81 views
0

使用以下VBA代碼在Google API中爲訪問令牌交換有效的授權令牌時,我收到「400錯誤請求」錯誤。任何人都可以闡明爲什麼,我一直在爲這個問題奮鬥了一個多星期。Google OAuth2在交換訪問令牌時出現錯誤400

Dim http As MSXML2.XMLHTTP 
Dim sUrl As String 
Dim sUrlHeader As String 
Dim svarbody As String 

Set http = New MSXML2.XMLHTTP 

sUrl = "https://accounts.google.com/o/oauth2/token? HTTP/1.1" 

http.Open "POST", sUrl 


http.setRequestHeader "Content-Type", "application/x-www-form-urlencoded" 

svarbody = "code=4%2FXAjmXiUlBXUAUGCnMvNKsxdyuJEJ.8kfzzrqo3wwTuJJVnL49Cc9gML_lbgI&" & _ 
"client_id=50487549202#-q27v28nvhmjhc0uobq35tjn09lhrh47r.apps.googleusercontent.com&" &   _ 
"redirect_uri=http%3A%2F%2Flocalhost&" & _ 
"scope=https%3A%2F%2Fwww.google.com%2Fcalendar%2Ffeeds&" & _ 
"client_secret=<secret delete for this post>&" & _ 
"grant_type=authorization_code" 

http.send svarbody 

Me.Text3 = http.status & vbCrLf & http.statusText & vbCrLf & http.responseText 
+0

你應該真的尋找響應主體,看看它說什麼。這通常給出了導致400錯誤的指示。 –

回答

0

這是一個非常非常普遍的問題。您可以嘗試去解決它做許多方法和試驗......但

真正一個,你應該首先嚐試的是:

更新您的服務器/計算機WINDOWS時鐘,使用time.nist .gov(或兄弟)。在Windows小時日期雙擊(在屏幕的底部,並更改Internet時間以這種方式)

SntsDev

0

您可能需要在Google帳戶中設置結算信息。

相關問題