Получайте твиты всех пользователей, используя 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 будет передавать вам результаты по мере их поступления.

Диаграмма API Twitter Streaming

(взято со страницы Twitter Streaming API)

Тем не менее, TweetSharp в настоящее время не поддерживает потоковый API. Тем не менее, нетрудно открыть соединение с Twitter в.NET и обработать ответы по мере их поступления (однако я рекомендую использовать HttpClient класс для обработки этого асинхронно, а также с использованием надлежащей библиотеки синтаксического анализа JSON, такой как Json.NET).

Обратите внимание на третий столбец на диаграмме "Потоковое соединение", а именно на среднюю часть:

Получает потоковые твиты, выполняет обработку и сохраняет результат

А также столбец "Процесс HTTP-сервера":

Сервер извлекает обработанный результат из хранилища данных и отображает представление.

Хотя это и не упомянуто явно, лучше всего просто сохранить Tweet, когда вы поместите его в хранилище данных, а затем попросить другой процесс обработать Tweets; объем твитов, которые вы можете получить, настолько высок, что выполнение любой обработки, когда вы получите твит, приведет к отставанию в получении новых твитов.

В вашем конкретном случае вы захотите получить доступ к публичным потокам с помощью POST-фильтра "dumbledore".

Другие вопросы по тегам