Получайте твиты всех пользователей, используя TweetSharpAPI
Я реализовал метод, который вручную очищает страницу поиска в Twitter и получает твиты на разных страницах. Но так как существует высокая частота обновления, метод вызывает исключение. Поэтому я решил использовать API TweetSharp вместо
var search = FluentTwitter.CreateRequest()
.AuthenticateAs(TWITTER_USERNAME, TWITTER_PASSWORD)
.Users()
.SearchFor("dumbledore");
var result = search.Request();
var users = result.AsUsers();
этот код был на сайте. Кто-нибудь знает, как я могу избежать предоставления своих учетных данных и получения данных от всех пользователей, а не только от тех, которые у меня есть в друзьях?
Спасибо!
1 ответ
То, что вы хотите сделать, это интерфейс с Twitter Streaming API. Этот API позволяет открывать постоянное соединение с Twitter, а затем Twitter будет передавать вам результаты по мере их поступления.
(взято со страницы Twitter Streaming API)
Тем не менее, TweetSharp в настоящее время не поддерживает потоковый API. Тем не менее, нетрудно открыть соединение с Twitter в.NET и обработать ответы по мере их поступления (однако я рекомендую использовать HttpClient
класс для обработки этого асинхронно, а также с использованием надлежащей библиотеки синтаксического анализа JSON, такой как Json.NET).
Обратите внимание на третий столбец на диаграмме "Потоковое соединение", а именно на среднюю часть:
Получает потоковые твиты, выполняет обработку и сохраняет результат
А также столбец "Процесс HTTP-сервера":
Сервер извлекает обработанный результат из хранилища данных и отображает представление.
Хотя это и не упомянуто явно, лучше всего просто сохранить Tweet, когда вы поместите его в хранилище данных, а затем попросить другой процесс обработать Tweets; объем твитов, которые вы можете получить, настолько высок, что выполнение любой обработки, когда вы получите твит, приведет к отставанию в получении новых твитов.
В вашем конкретном случае вы захотите получить доступ к публичным потокам с помощью POST-фильтра "dumbledore".