Почему сервер google возвращает ошибку 401 при попытке получить токен? - PullRequest
1 голос
/ 22 декабря 2011

В настоящее время я пытаюсь разработать API для Google Reader, и когда я пытаюсь получить токен, генерируется следующая ошибка:

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.Я прочитал вопрос: Почему я получаю сообщение об ошибке 401 (неавторизовано) при публикации в Google Reader API? однако он получал эту ошибку при попытке опубликовать сообщение.

1 Ответ

2 голосов
/ 22 декабря 2011

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

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

Источник

...