Что означает "from_id" и "max_id" в API Twitter?
Я уже некоторое время перебираю документы в Твиттере, и у меня есть стена, как получать статистику роста подписчиков за период времени/количество твитов за период времени...
Я хочу понять от сообщества, что since_id
и max_id
и count
в API Twitter.
Я следил за этой страницей https://developer.twitter.com/en/docs/tweets/timelines/api-reference/get-statuses-user_timeline
Я пытаюсь получить статистику для пользователя -
- количество твитов за определенный период времени
- количество подписчиков за определенный период времени
- количество ретвитов
Я хотел бы помочь с формированием строк запросов для вышеупомянутого..
Спасибо..
Ответы
Ответ 1
Since_id и max_id - очень простые параметры, которые вы можете использовать для ограничения того, что вы получаете от API. Из документов:
since_id
- Возвращает результаты с идентификатором, большим (то есть более поздним, чем) указанного идентификатора. Существуют ограничения на количество твитов, которые могут быть доступны через API. Если лимит твитов произошел с тех пор, как since_id, since_id будет принудительно установлен на самый старый доступный идентификатор. max_id
- возвращает результаты с идентификатором меньше (то есть, старше) или равным указанному идентификатору.
Таким образом, если у вас есть заданный идентификатор твита, вы можете искать более старые или более новые твиты, используя эти два параметра.
count
еще проще - он определяет максимальное количество твитов, которое вы хотите получить, до 200.
К сожалению, API не вернет вам именно то, что вы хотите - вы не можете указать дату/время при запросе user_timeline
- хотя вы можете указать одно при использовании поискового API. В любом случае, если вам нужно использовать user_timeline, вам нужно будет опросить API, собрать твиты, выяснить, соответствуют ли они требуемым параметрам, а затем соответствующим образом рассчитать вашу статистику.
Ответ 2
Max_id = верхняя часть списка идентификаторов твитов. from_id = нижняя часть списка идентификаторов твитов.
для получения дополнительной информации: посмотрите на последнюю диаграмму. здесь
Ответ 3
Max_id и since_id используются для предотвращения избыточности в случае вызовов API Twitter. Визуализируйте твиты, входящие как штабелирование в стек. Один вызов API должен указать, сколько (количество) твитов будет обработано. Но, как только этот вызов сделан, могут быть добавлены новые твиты. В этом случае, если вы вытягиваете стек и запускаете процесс, вы замечаете, что между обработанными могут застревать фрагменты или фрагменты необработанных твитов. Это также видно на изображении ниже.
![enter image description here]()
Чтобы обойти эту проблему, два параметра используются для отслеживания самого последнего/наибольшего твита идентификатора, который был ранее обработан (since_id), и самого старого/самого низкого твита, недавно обработанного (max_id). Since_id указывает на нижнюю часть "фрагмента", а (max_id-1) указывает на верхнюю часть "фрагмента". (Обратите внимание, что max_id включительно в отличие от since_id) Итак, параметры вместе отслеживают, какая часть стека твитов еще должна быть обработана.