2013-05-18 72 views
0

我試圖從Twitter API獲取包含一些hashtag的新推文。我感興趣的是每次請求結果時新推文的數量。所以像這樣:如何僅使用Twitter API獲取每個請求的新推文?

10:20 AM: 100 tweets containing #google 
10:22 AM: 130 tweets containing #google 

但是現在不知怎麼我的結果保持不變。這是我的代碼:

PHP(tweets.php):

<?php 

$json = file_get_contents('http://search.twitter.com/search.json?q=%23apple:)&include_entities=true&rpp=100', true); 
echo $json; 
?> 

的Javascript:

function getTweets() { 
    var tweets = 0; 
    $.ajax({ 
     url: "tweets.php", 
     crossDomain: true, 
     dataType: 'JSON' 
     }).done(function(data) { 
      $.each(data.results, function(key, value) { 
       console.log(value.entities); 
       tweets++; 

      }); 

    }); 
} 
$(document).ready(function() { 

    setInterval("getTweets()", 5000); 

}); 

我怎麼能只得到更新?

編輯:我的代碼有效,但結果不是真的更新。他們一次又一次地得到同樣的結果。

回答

1
$(document).ready(function() { 

    setInterval(function(){ getTweets();}, 5000); 

}); 
+0

哇!這工作。你能解釋爲什麼嗎?有什麼不同? – Loolooii

+0

您正在將函數作爲setInterval中的字符串傳遞。它需要第一個參數中的可執行代碼。 –

+0

如果有效,那麼不要忘記接受答案 –

0

file_get_contents()返回數據類型,而不是JSON。看看它是否有效:

$json = json_encode(file_get_contents('http://search.twitter.com/search.json?q=%23apple:)&include_entities=true&rpp=100', true)); 
+0

我的代碼有效,但每次都得到100個相同的結果。 – Loolooii

+0

這可能是由於'var tweets = 0;'在你的函數開始。這會呈現'tweets ++;'無用。也許嘗試像'var tweetCounter + = tweets;'? – verbumSapienti

相關問題