2011-12-22 4 views
1

я в настоящее время пытаюсь разработать интерфейс для читателя Google, и когда я пытаюсь получить маркер, следующее сообщение об ошибке генерируется:Почему сервер google возвращает ошибку 401 при попытке получить токен?

System.Net.WebException: The remote server returned an error: (401) Unauthorized. 
    at System.Net.HttpWebRequest.GetResponse() 

первым я получаю сеанс ... и это работает отлично. то следующий метод я вызывается, чтобы получить маркер:

public String setToken() 
{ 
    HttpWebResponse response; 
    HttpWebRequest request; 
    cookie = new Cookie("SID", this.sessionID, "/", ".google.com"); 
    String url = "http://www.google.com/reader/api/0/token"; 

    request = (HttpWebRequest)WebRequest.Create(url); 
    request.Method = "GET"; 
    request.CookieContainer = new CookieContainer(); 
    request.CookieContainer.Add(this.cookie); 

    response= (HttpWebResponse)request.GetResponse(); 
    using (var stream = response.GetResponseStream()) 
    { 
     StreamReader r = new StreamReader(stream); 
     this.token = r.ReadToEnd(); 
    } 
    return this.token; 
} 

исключение который генерируется в этой строке:

response= (HttpWebResponse)request.GetResponse(); 

Кто-нибудь знает, что может быть причиной этой ошибки, пожалуйста?

PS. Я прочитал вопрос: Why am I getting a 401 (Unauthorized) error when POSTing to Google Reader API? однако он получал эту ошибку, когда пытался отправить сообщение.

ответ

2

Google изменился, по словам Эрика Манн:

«Как выясняется, Google изменил часть аутентификации считывателей API Теперь, вместо прохождения SID в куки, когда вы делаете запрос,. вы устанавливаете заголовок аутентификации с ключом «Auth», первоначально переданным с SID ».

Source

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