2015-05-20 4 views
0

Я следую за этот документ, чтобы сделать маркер запроса https://developers.google.com/identity/protocols/OAuth2InstalledAppBad Request 400 при создании маркера запроса в Google Gmail API

На первом этапе, он отлично работает. Я могу получить код аутентификации. На втором этапе у меня есть проблема с 400 Bad Request. Я нашел ответ на этот вопрос в течение 2 дней, но я не могу решить проблему. я установить все свойства, как документ, но это не имеет значения:

POST /oauth2/v3/token HTTP/1.1 
Host: www.googleapis.com 
Content-Type: application/x-www-form-urlencoded 

code=4/v6xr77ewYqhvHSyW6UJ1w7jKwAzu& 
client_id=8819981768.apps.googleusercontent.com& 
client_secret=your_client_secret& 
redirect_uri=https://oauth2-login-demo.appspot.com/code& 
grant_type=authorization_code 

Вот мой код:

postData.Clear() 
    ' code is the authentication code in the first request 
    postData.Add("code=" + code) 
    postData.Add("client_id=###############.apps.googleusercontent.com") 
    postData.Add("client_secrect=####################") 
    postData.Add("redirect_uri=urn:ietf:wg:oauth:2.0:oob") 
    postData.Add("grant_type=authorization_code") 

    Dim data As String = String.Join("&", postData.ToArray()) 
    Dim request As HttpWebRequest = HttpWebRequest.Create("https://www.googleapis.com/oauth2/v3/token") 
    Dim byteData() As Byte = Encoding.UTF8.GetBytes(data) 

    request.Host = "www.googleapis.com" 
    request.Method = WebRequestMethods.Http.Post 
    request.ProtocolVersion = HttpVersion.Version11 
    request.ContentType = "application/x-www-form-urlencoded" 
    request.ContentLength = byteData.Length 

    Dim dataStream As Stream = request.GetRequestStream() 
    dataStream.Write(byteData, 0, byteData.Length) 
    dataStream.Close()   

    Dim response As HttpWebResponse = request.GetResponse() 
    Dim reader As Stream = response.GetResponseStream() 
    response.Close() 

Спасибо за ответ!

ответ

0

Я только что нашел ошибку. Это глупая ошибка. Я набрал client_secrect inteads client_secret. Я не могу поверить, что мне потребовалось 2 дня, чтобы исправить эту ошибку.