2012-11-17 3 views
0

Я работаю с OAuth api google для приложений веб-сервера, в частности asp.net mvc, и я могу добраться до точки, где google возвращает код авторизации для определенного oauth-запроса. В этот момент я пытаюсь получить маркер доступа, используя следующий код:google oauth access token 411 response

public ActionResult GetOAuthToken() 
{ 
    HttpWebRequest myReq = (HttpWebRequest)WebRequest.Create(OAuthConfig.getTokenUrl(Request.QueryString["code"].ToString())); 
    myReq.Method = "POST"; 
    myReq.Host = "accounts.google.com"; 
    myReq.ContentType = "application/x-www-form-urlencoded"; 
    WebResponse resp = myReq.GetResponse(); 
    return View(); 
} 

OAuthConfig это просто класс, я написал, что содержит метод getTokenUrl(), который возвращает URL с такими параметрами, как код , client_secret, client_id и т. д. для URL: https://accounts.google.com/o/oauth2/token. Я отлаживал и проверял, что нет ничего плохого в этом URL-адресе.

Я продолжаю получать следующую ошибку: Удаленный сервер ответил на ошибку: (411) Требуется длина.

Я не знаю, что указать для длины содержимого, или если есть что-то еще, что мне нужно включить, чтобы исправить эту ошибку?

ответ

0

Вы пытались взглянуть на Google-API .NET Client?

При отладке вы увидите, что Google использует «длину» в качестве внутреннего свойства при отправке запроса доступа к токену. вы можете попытаться исправить это самостоятельно, но вы можете использовать класс THEIR для отправки запроса маркера; Если вы используете свой класс, вам не нужно беспокоиться о внутренней, такой как длина ...

+0

Я загрузил эту библиотеку несколько раз, но по причине, когда я извлекаю zip-файл, он просто говорит: «Не удается открыть файл google-api-dot-net-client.zip ', поэтому я не могу использовать клиентскую библиотеку Google. –

+0

, если вам трудно открыть zip-файл (может быть поврежден и т. Д.) - попробуйте решить эту проблему и продолжить; Я не думаю, что это хорошая причина для реализации своих вещей, когда вы ее реализовали Google ... Попытайтесь понять, почему она не может быть открыта в вашем env. – OhadR