2013-02-20 2 views
2

Я использую следующее C# код, чтобы попытаться получить обменять свой код авторизации для получения кода доступа:Ошибка при попытке обмена код авторизации для кода доступа с помощью Google API

 const string TokenExchangeEndPointUrl = "https://accounts.google.com/o/oauth2/token"; 
     string data = string.Format(
       "code={0}&client_id={1}&client_secret={2}&redirect_url={3}&grant_type=authorization_code", 
       (value), (_clientId), (_clientSecret), (RedirectUri)); 

     var utfenc = new UTF8Encoding(); 
     byte[] buffer = utfenc.GetBytes(data); 
     var req = (HttpWebRequest) WebRequest.Create(TokenExchangeEndPointUrl); 
     req.Method = "POST"; 
     req.ContentType = "application/x-www-form-urlencoded"; 
     req.ContentLength = buffer.Length; 

     using (Stream strm = req.GetRequestStream()) 
     { 
      strm.Write(buffer, 0, buffer.Length); 
      strm.Close(); 
     } 
     var response = (HttpWebResponse) req.GetResponse(); 

Самая последняя линия, где ошибка возникает. Ошибка, которую я получаю, - это (400) неверный запрос. Это происходит в последней строке. Из примеров, которые я видел в Интернете, я, кажется, делаю это правильно. Я запускаю код через Fiddler2 и, похоже, соответствует тому, что я получаю от Google's OAuth Playground, что делает эту проблему действительно странной. Я проверил тройную проверку ClientId и Client Secret. Они верны для моего приложения. Может ли кто-нибудь указать мне в правильном направлении?

ответ

4

Я действительно понял это. Я помещал «redirect_url». Это должно быть «redirect_uri»

Смежные вопросы