2008-10-15 25 views
6

Arama sorgumla eşleşen tüm tweet'leri döndürmek için API'yi kullanmak istiyorum, ancak yalnızca son beş saniye içinde gönderilen tweet'leri.Arama sorgumla eşleşen tüm tweet'leri yalnızca son beş saniye içinde gönderilecek şekilde döndürmek için Twitter Arama API'sini nasıl kullanabilirim?

Twitter'ın Arama API'siyle, belirli bir kimliğe ait tüm tweet'leri almak için since_id'i kullanabilirim. Ancak, tweet kimliğini bulmanın iyi bir yolunu gerçekten göremiyorum.

Ayrıca, bir tarih kullanmak için gerçek sorgudaki "since:" ı kullanabileceğinizi de biliyorum, ancak bir zaman giremezsiniz.

Twitter API deneyimine sahip birisi bana herhangi bir öneri sunabilir mi? Okuma ve zaman ayırdığın için teşekkürler!

http://apiwiki.twitter.com/Search-API-Documentation

cevap

4

Bu, sonuç kümesinde döndürülen alanlardan bir tanesidir. Sadece sorgunuzu yapın ve sadece son 5 saniyede olanları kullanın.

0

gerçek zamanlı olarak tweetleri yoklamaya çalışıyorsunuz? Twitter'in API req/hour'ında bir sınırı yoktur. Bence bu kadar hızlı vurdun.

+0

değil. Hız sınırı yok. En iyi tweet'i her beş saniyede bir sorgulamak istiyorum. – rmh

+0

Arama API'sı için oran sınırları vardır, ancak kimse ne olduğunu bilir. Aynı anda birden çok eşzamanlı API isteği yapmıyorsanız 5 saniyenin iyi olduğunu düşünüyorum. –

0

Neden her 5 saniyede bir API çağrısı yapmıyorsunuz ve ilk 1 tweet'i almıyorsunuz.

+0

Çünkü onları zamana göre değil, popülerliğe göre sıralar. Yani çoğu anket için farklı bir tweet olmaz. – rmh

+1

Üzgünüm, bir şeyleri kaçırmam gerekiyor. Bu kronolojik sırada olduğu gibi görünüyor: http://search.twitter.com/search.atom?q=microsoft – Kon

+0

Bu çok tuhaf, öyle! Sorgularımı oluştururken, bir sebepten ötürü değildi. Ne yaptığımı hatırlayamıyorum. Tamam, teşekkürler ... şimdi aptalca hissediyorum. :) – rmh

2
 <script type="text/javascript" charset="utf-8"> 
    // JavaScript Document 
    $(document).ready(function(){ 

    // start twitter API  
    $.getJSON('http://twitter.com/status/user_timeline/YOUR_NAME.json?count=10&callback=?', function(data){ 
     $.each(data, function(index, item){ 
      $('#twitter').append('<div class="tweet"><p>' + item.text.linkify() + '</p><p><strong>' + relative_time(item.created_at) + '</strong></p></div>'); 
     }); 

    }); 


    function relative_time(time_value) { 
     var values = time_value.split(" "); 
     time_value = values[1] + " " + values[2] + ", " + values[5] + " " + values[3]; 
     var parsed_date = Date.parse(time_value); 
     var relative_to = (arguments.length > 1) ? arguments[1] : new Date(); 
     var delta = parseInt((relative_to.getTime() - parsed_date)/1000); 
     delta = delta + (relative_to.getTimezoneOffset() * 60); 

     var r = ''; 
     if (delta < 60) { 
     r = 'a minute ago'; 
     } else if(delta < 120) { 
     r = 'couple of minutes ago'; 
     } else if(delta < (45*60)) { 
     r = (parseInt(delta/60)).toString() + ' minutes ago'; 
     } else if(delta < (90*60)) { 
     r = 'an hour ago'; 
     } else if(delta < (24*60*60)) { 
     r = '' + (parseInt(delta/3600)).toString() + ' hours ago'; 
     } else if(delta < (48*60*60)) { 
     r = '1 day ago'; 
     } else { 
     r = (parseInt(delta/86400)).toString() + ' days ago'; 
     } 

     return r; 
    } 

    String.prototype.linkify = function() { 
     return this.replace(/[A-Za-z]+:\/\/[A-Za-z0-9-_]+\.[A-Za-z0-9-_:%&\?\/.=]+/, function(m) { 
      return m.link(m); 
     }); 
    };// end twitter API 




}); // ***** end functions ***** 
    </script> 

      <div id="twitter"> 
    Target Div      

    </div> 
0

Twitter API sonuçları en son olarak varsayılan olarak sıralanır. Twitter arama API

Parametre:

RESULT_TYPE: Opsiyonel twitter wiki aşağıdaki alıntı bakınız. Ne tür arama sonuçları almayı tercih edeceğinizi belirtir.

* Valid values include: 


     o mixed: In a future release this will become the default value. Include both popular and real time results in the response. 
     o recent: The current default value. Return only the most recent results in the response. 
     o popular: Return only the most popular results in the response. 
* Example: http://search.twitter.com/search.atom?q=Twitter&result_type=mixed 
* Example: http://search.twitter.com/search.json?q=twitterapi&result_type=popular 
* Example: http://search.twitter.com/search.atom?q=justin+bieber&result_type=recent 

Lütfen herhangi bir yerde yanlışı olduğumda beni düzeltin.

Teşekkür ve Saygılarımızla,
Abhay Dandekar Arama API için