想要获取最后一次获取后发送的用户的所有推文

时间:2013-11-25 15:42:10

标签: php twitter

我正在尝试使用twitter api 1.1和php(亚伯拉罕的图书馆)拉取(获取)特定用户的推文。

早些时候我早就做过这个,因为自从ID开始使用api 1.0 api ... 我曾经从用户那里提取所有最近的推文....从大多数旧解析到最近的推文...并且用于保存最新版本的ID,因为自文件中的id ... 然后在下一次获取期间,我曾经提供过自查询中的id,然后获取仅在该ID之后发送的所有推文。

不知何故,我丢失了代码,在1.1教程中,我无法找到自ID ...

的用法

我尝试将其重写为:

$tweets = $twitter->get('statuses/user_timeline', array('screen_name' => '@example', 'exclude_replies' => 'false', 'include_rts' => 'false', 'since_id' => $earlier_stored_since_id));

但它没有给出正确的结果。 我的意思是它给出了结果,但那些不是按时间顺序排列....我希望结果按顺序最旧到最新,以便在我的foreach循环中我可以保存最后解析的推文的id(这应该是来自此获取的最新的一个)。

类似的东西:

if(!empty($tweets)) {
foreach($tweets as $tweet) {

    # Access as an object
    $tweetText = $tweet->text;
    $sinceId= $tweet->id_str;
    echo '$sinceId is '.$sinceId;
    TwitterUtils::echoNewLine(0);

    # Make links active
    //$tweetText = preg_replace("/(http:\/\/|(www\.))(([^\s<]{4,68})[^\s<]*)/", '<a href="http:%2f%2f$2$3" target="_blank">$1$2$4</a>', $tweetText);
//not activation of links working

    # Linkify user mentions
    //$tweetText = preg_replace("/@(\w+)/", "<a href="http:/www.twitter.com/$1" target="_blank">@$1</a>", $tweetText);
    //linkifying not working

    # Linkify tags
    //$tweetText = preg_replace("/#(\w+)/", "<a href="http:/search.twitter.com/search?q=$1" target="_blank">#$1</a>", $tweetText);
//linkifying tags not working

    # Output
    echo $tweetText;
    }
  file_put_contents($file_name_aditya, $sinceId);
  echo 'sinceId put in file is '.$sinceId;
  }

任何人都可以指导我在哪里犯错吗?

提前致谢!

1 个答案:

答案 0 :(得分:0)

在python中处理类似的事情,唯一的区别是我保存了twitter dev docs中概述的'最大'since_id。不依赖于按时间顺序收到的推文。