c # Как войти в Google Reader - PullRequest
       7

c # Как войти в Google Reader

2 голосов
/ 17 февраля 2011

Я ищу фрагмент кода, который покажет мне, как получить SID для Google Reader в C #. Кто-нибудь знает такого зверя?

Ответы [ 2 ]

2 голосов
/ 21 апреля 2012

Это довольно просто.Сначала вы должны выполнить GET запрос на страницу https://www.google.com/accounts/ClientLogin со своим логином и паролем (не забудьте URL кодировать их).А затем просто проанализируйте ответ (будет несколько параметров, разделенных символом новой строки \n), чтобы получить SID.Вот самый простой пример (без обработки ошибок):

var url = string.Format("https://www.google.com/accounts/ClientLogin?service=reader&Email={0}&Passwd={1}",
    HttpUtility.UrlEncode(email),
    HttpUtility.UrlEncode(password)
);
var web = new WebClient();
web.DownloadStringCompleted += (sender, e) =>
{
    var sid = e.Result.Split('\n')
        .First(s => s.StartsWith("SID="))
        .Substring(4);
};
web.DownloadStringAsync(new Uri(url));

Но вы могли бы сделать этот код более элегантным, используя AsyncCTP .

0 голосов
/ 17 февраля 2011

Для этого вам придется иметь дело с ручными HTTP-манипуляциями и куки-файлами. Довольно приличное объяснение доступно на этой странице . Если вы работали с HTTP-запросами в C #, не должно быть проблем с выбором методов, описанных там.

...