Чирикать и потоковое API?
Я не могу найти недавний ответ по этому вопросу.
Сообщается, что Tweetsharp в ряде старых постов не поддерживает потоковую передачу из потока пользователя API api. Однако github показывает класс, который, похоже, поддерживает потоковую передачу.
Поддерживает ли tweetsharp потоковую передачу из Twitter, где раньше этого не было
Я изучаю C#, и я был бы признателен за мнение опытного программиста, прежде чем я продолжу часами работать с tweetsharp.
1 ответ
Решение
Если вы ищете только потоковый API Twitter, вы можете реализовать его без необходимости использования внешней библиотеки.
JavaScriptSerializer serializer = new JavaScriptSerializer();
HttpWebRequest webRequest = (HttpWebRequest)WebRequest.Create("https://stream.twitter.com/1/statuses/sample.json");
webRequest.Credentials = new NetworkCredential("...", "...");
webRequest.Timeout = -1;
HttpWebResponse webResponse = (HttpWebResponse)webRequest.GetResponse();
StreamReader responseStream = new StreamReader(webResponse.GetResponseStream());
while (true)
{
var line = responseStream.ReadLine();
if (String.IsNullOrEmpty(line)) continue;
dynamic obj = serializer.Deserialize<Dictionary<string, object>>(line);
if(obj["user"]!=null)
Console.WriteLine(obj["user"]["screen_name"] + ": " + obj["text"]);
}