Twitter搜索api最后时刻的推文

时间:2013-04-11 16:35:29

标签: php api search curl twitter

嗯,我想做的事情非常明显。我收到的推文如下所示:

$options .=  'q='.urlencode($hash_tag);
$options .=  '&page=15';
$options .=  '&rpp=100';
$options .=  '&result_type=recent';

$url = 'https://search.twitter.com/search.atom?'.$options ;

$ch = curl_init($url);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, TRUE);
$xml = curl_exec ($ch);
curl_close ($ch);

$affected = 0;
$twelement = new SimpleXMLElement($xml);
foreach ($twelement->entry as $entry) {
    $text = trim($entry->title);
    $author = trim($entry->author->name);
    $time = strtotime($entry->published);
    $id = $entry->id;
    echo '<hr>';

    echo "Yazan : ".$author;
    echo "</br>";
    echo "Tarih : ".date('Ymd H:i:s',$time);
    echo "</br>";
    echo "Tweet : ".$text;
    echo "</br>";
}

正如您可以查看此链接:linkToTrial我可以收到推文。但它们对我来说太老了!我希望在最后时刻收到推文,至少在最后5分钟内收到。 Here它说

  

这听起来像你可以做的事情,因为created_at是结果集中返回的字段之一。只需进行查询,只使用最近5秒内的查询。

但是当你查看我的例子时,你会发现我甚至没有收到最后的推文。我哪里做错了?哪里?

任何答案都将不胜感激。谢谢你的回复。

1 个答案:

答案 0 :(得分:0)

您正在使用已弃用的API(search.twitter.com),该API将于2013年5月7日停止运行 - 您需要转到v1.1搜索API - 请参阅https://dev.twitter.com/docs/api/1.1/get/search/tweet文档。

看起来您使用此查询获得较旧结果的具体原因是您从第15页开始 - 结果集的结尾。最新的推文将在结果集的开头 - 第1页。

在API v1.1中,Search API的概念不再存在。相反,您可以使用since_id和max_id在结果集中导航,详细信息请参见:https://dev.twitter.com/docs/working-with-timelines