#android #ios #api #twitter #rate
Вопрос:
Я заинтересован в том, чтобы получить количество подписчиков пользователя, использующего API twitter в моем приложении для Android.
Я с большим интересом читаю официальную документацию по API twitter, однако есть кое-что, что мне непонятно.
Как я понял, если меня интересует только количество подписчиков, только количество, я должен использовать GET users/show в API. Этот вызов на сервер имеет скорость 900 профилей/15 минут.
Тем не менее, я читал, что это ограничение касается каждого пользовательского ТОКЕНА, который у меня есть.
Мой вопрос таков:
Если мое приложение установлено, например, на 1000 мобильных телефонах, мое приложение сможет выполнять только 900 запросов к серверу в течение 15 минут с 1000 мобильных телефонов? или каждый мобильный телефон, у каждого из которых есть свой пользователь, сможет сделать 900 запросов в течение 15 минут.
Надеюсь, я правильно объяснился.
Спасибо и с наилучшими пожеланиями.
Ответ №1:
Здесь, в разделе ограничения скорости Twitter API v2: Поиск пользователей имеет ограничение 300 per app
и 900 per user
. Эти запросы per 15-minute window
также относятся к тому, что указано в этом разделе. Вы имеете в виду 1000 мобильных телефонов, которые я понимаю как 1000 пользователей Twitter, вошедших в ваше приложение через логин в Twitter, если не изменить 900 на 300 для остальных. Однако при прокрутке вниз в синем поле Twitter появляется заметка с заголовком «Пожалуйста, обратите внимание». В этой записке говорится: Users' rate limits are shared across all Apps that they have authorized.
Кроме того, в самом начале говорится:
The maximum number of requests that are allowed is based on a time interval, some specified period or window of time. The most common request limit interval is fifteen minutes. If an endpoint has a rate limit of 900 requests/15-minutes, then up to 900 requests over any 15-minute interval is allowed.
Подводя итог, вы можете использовать не более 900 запросов за 15 минут. Это будет зависеть от активности пользователя в других приложениях Twitter.
Я предлагаю вам проверить части на этой странице под названием заголовки HTTP и коды ответов, восстановление после ограничения скорости и советы, как избежать ограничения скорости.
Ответ №2:
Во-первых, /1.1/users/show
был заменен на /2/users
, поэтому используйте последнее в дальнейшем. Если ограничения скорости на 300 носителей/900 пользователей являются слишком громоздкими, есть три возможности:
- рассмотрите возможность перехода на премиум или корпоративный,
- рассмотрите возможность использования
User
конечной точки, отличной от v2, которая имеет достаточно высокий предел скорости и предоставляетexpansions
параметр, который можно использовать для возврата в ответе этих данных, которые вы ищете, - рассмотрите возможность кэширования этих данных, если это разрешено.
Документация API для версии 2 весьма полезна для понимания того, как expansions
работает параметр, но в целом она позволяет запрашивать, например, Tweet
объект, содержащий дополнительные свойства, например , соответствующие User
, такие как количество подписчиков.