Как быть уверенным, что мое веб-приложение получит следующий твит после указанного твита - PullRequest
0 голосов
/ 11 января 2010

Я создаю веб-приложение, которое полагается на следование временной шкале статуса из твиттера в php

Я делаю запрос в твиттер, используя следующий вызов API:

$ since_id равен сохраненному идентификатору на основе последнего проанализированного твита.

$ req_url = 'http://twitter.com/statuses/friends_timeline.xml?count=20&page=1&since_id='.$since_id;

Я заметил, что если после последнего звонка поступит более 20 твитов, я получу самые последние 20 твитов со времени последнего звонка и, в свою очередь, пропущу те, которые находятся между $ since_id и текущим 20.

пример:

  1. в 0800 последний проанализированный твит был 70001
  2. 50 твитов создаются в 10-минутном окне с момента последнего вызова API
  3. в 0810 я звоню в API, чтобы получать твиты с 70001
  4. возвращает твиты 70031 - 70051

что заставляет меня пропустить 70002-70030

Теперь к квесту: Есть ли способ узнать, сколько твитов было сделано с момента последнего звонка? Если да, есть ли способ убедиться, что при вызове API я получаю следующий твит в очереди, а не самые последние сделанные твиты?

язык: PHP5 используя: Twitter REST API

Ответы [ 2 ]

2 голосов
/ 11 января 2010

Вы можете установить параметр since_id для последнего увиденного твита и указать счетчик 200. Затем получить более старые, указав max_id.

$startId = [last tweet_id]
$tweets = "twitter.com/statuses/friends_timeline.xml?since_id=${istartId}" .
  "&count=200"

while (count($tweets)) {
   insert $tweets into table on duplicate key update none
   $maxId = $tweets[count($tweets) - 1]['id'];
   if ($maxId <= $startId) {
     break;
   }
   $tweets = "twitter.com/statuses/friends_timeline.xml?max_id=${maxId}" .
     "&count=200"
}

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

можно искать в диапазоне дат, используя поисковый атом и операторы с тех пор, до и с:

http://apiwiki.twitter.com/Twitter-Search-API-Method%3A-search

но, на самом деле, он все еще отсортирован по времени, поэтому вам придется прокрутить назад в любом случае.

0 голосов
/ 22 апреля 2010
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...