2013-04-11 120 views
0

嗯,我想要做的是非常明显的。我收到的鸣叫,如下图所示:Twitter上的搜索API的最后时刻推文

$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秒内的那些。

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

任何答案将不胜感激。感谢您的回应。

回答

0

您正在使用将于2013年5月7日停止运作的弃用API(search.twitter.com) - 您将要转移到v1.1 Search 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

+0

我看不到第一页,它说没有找到页面。 – 2013-04-11 20:48:08