抓住最新的推特结果

时间:2014-04-23 11:40:16

标签: php json twitter

您好我制作了一个简单的脚本,将最新的Twitter帖子ID插入到文本文件中,然后将其与最近的100条推文进行比较,以便只回溯最新的推文。

我注意到有时当我运行这个脚本时,它不会破坏循环并再次显示所有旧的推文。

他们是解决这个问题的更好方法吗?

require_once("twitteroauth/twitteroauth.php"); //Path to twitteroauth library

function getConnectionWithAccessToken($cons_key, $cons_secret, $oauth_token, $oauth_token_secret) {
  $connection = new TwitterOAuth($cons_key, $cons_secret, $oauth_token, $oauth_token_secret);
  return $connection;
}

$connection = getConnectionWithAccessToken($consumerkey, $consumersecret, $accesstoken, $accesstokensecret);


$json= $connection->get("https://api.twitter.com/1.1/search/tweets.json?q=%23Drake&count=100");

$newcount=0;    
$flag;

$id = array();
$since_filename = 'twitter/since_filename.txt';
$count_filename = 'twitter/count_filename.txt';


$since_id = file_get_contents($since_filename);

foreach($json->statuses as $tweet)
{
  $text = $tweet->text; 
  $test = $tweet->id_str;
  $id[] =  $test;


  if($test==$since_id)
  {
    break;
  }
  else
    {
        echo "false";
    }

echo $text;

  $newcount++;
}

$current = $id[0];
// Write the contents back to the file
file_put_contents($since_filename, $current);

$existingcount = file_get_contents($count_filename);
file_put_contents($count_filename, ($newcount + $existingcount));

1 个答案:

答案 0 :(得分:4)

Twitter's search API允许您传递' since_id'

  

since_id -   返回ID大于(即更新)的结果   指定的ID。推文数量有限制   可以通过API访问。如果推文的限制发生以来   在since_id中,since_id将被强制使用最旧的ID。

$json= $connection->get("https://api.twitter.com/1.1/search/tweets.json?q=%23Drake&since_id=$since_id&count=100");