Разработка / тестирование приложений Twitter без хлопот API

StackOverflow https://stackoverflow.com/questions/816164

  •  03-07-2019
  •  | 
  •  

Вопрос

В настоящее время я работаю над приложением, которое работает с Twitter, но во время разработки / тестирования (особенно тех частей, которые не сильно зависят от реальных данных Twitter), я бы хотел избежать постоянного попадания в API или публикации мусора чириканье.

Есть ли общая стратегия, которую люди используют для облегчения работы с API (кроме кэширования)? Я думал о том, чтобы развернуть свою собственную библиотеку, которая по существу будет перехватывать исходящие запросы и возвращать ложные ответы, но сначала я хотел убедиться, что не пропустил ничего очевидного.

Это было полезно?

Решение

Я бы, наверное, начал с насмешек над конкретными частями API, которые вам нужны для вашего приложения. Фактически, это может фактически заставить вас придумать более чистый дизайн для вашего приложения, потому что это более или менее требует от вас думать о вашем приложении с точки зрения «что»; он должен делать, а не "как" это должно сделать это.

Например, если вы используете API-интерфейс поиска Twitter, скорее всего, ваше приложение не должно заботиться о том, используете ли вы формат JSON или формат Atom. Возможность поиска в Твиттере с использованием заданного запроса и получения результатов представляет желаемую функциональность, поэтому вы должны высмеивать API на этом уровне абстракции. Выходной формат - это просто деталь реализации.

Путем насмешки над API с точки зрения функциональности, а не с точки зрения низкоуровневой реализации, вы можете убедиться, что приложение выполняет то, что вы ожидаете, прежде чем вы действительно подключитесь к Twitter на самом деле. К этому моменту вы уже убедились, что приложение работает как задумано, поэтому остается только написать код для выполнения запросов REST и проанализировать ответы, что должно быть довольно простым, так что вы, вероятно, не будете в конечном итоге попал в твиттер с большим количеством ненужных данных в этот момент.

Другие советы

Кэширование, вероятно, лучшее решение. Кроме того, я считаю, что API ограничен 100 запросами в час. Поэтому, возможно, создайте функцию, которая будет считать каждый запрос и, приближаясь к 100, говорит: «ОК, каждые 10 запросов API я буду извлекать данные. Это не будет сложно установить, вероятно, функция градиента, которая обрезается, когда вы приближаетесь к пределу.

Я использовал Tweet #, он кеширует и должен делать все, что вам нужно, так как он покрывает 100% API Twitter, а затем немного ...

http: / /dimebrain.com/2009/01/introducing-tweet-the-complete-fluent-c-library-for-twitter.html

Кэширование в базе данных ... Если кеш слишком старый, запросите последние данные через API.

Также подумайте о том, чтобы включить учетную запись вашего приложения в белый список, это позволит вам иметь лимит в 20 000 API-запросов в час по сравнению с жалкими 100 (это сделано для пользователя, а не приложения).

http://twitter.com/help/request_whitelisting

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top