2008-10-15 20 views
6

Chciałbym użyć interfejsu API, aby zwrócić wszystkie tweety pasujące do mojego zapytania, ale tylko tweety opublikowane w ciągu ostatnich pięciu sekund.W jaki sposób mogę użyć interfejsu API wyszukiwarki Twitter, aby zwrócić wszystkie tweety pasujące do mojego zapytania wyszukiwania, opublikowane tylko w ciągu ostatnich pięciu sekund?

Dzięki funkcji API wyszukiwania na Twitterze mogę użyć parametru nr_id, aby pobrać wszystkie tweety z określonego identyfikatora. Jednak nie widzę dobrego sposobu na znalezienie identyfikatora tweeta.

Jestem również świadomy, że możesz użyć "od:" w rzeczywistym zapytaniu, aby użyć daty, ale nie możesz wprowadzić czasu.

Czy ktoś z doświadczeniem na Twitterze API może udzielić mi jakiejkolwiek porady? Dzięki za przeczytanie i Twój czas!

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

Odpowiedz

4

To brzmi jak coś, co możesz zrobić na końcu, ponieważ created_at jest jednym z pól zwróconych w zestawie wyników. Po prostu wykonaj zapytanie i korzystaj tylko z tych, które są w ciągu ostatnich 5 sekund.

0

Starasz się sondować tweets w czasie rzeczywistym? Czy twitter nie ma limitu API req/godz. Myślę, że trafiłeś tak szybko.

+0

Not for Search API. Nie ma limitów stawki. Chciałbym odpytywać najwyższy tweet co pięć sekund. – rmh

+0

Istnieją limity stawek dla interfejsu API wyszukiwania, ale nikt nie wie, jakie one są. Sądzę, że 5 sekund jest w porządku, o ile nie wykonujesz jednocześnie wielu jednoczesnych żądań interfejsu API. –

0

Dlaczego po prostu nie nawiążesz połączenia z interfejsem API co 5 sekund i nie zdobędziesz pierwszego tweeta.

+0

Bo zamawia je według popularności, a nie według czasu. Więc w przypadku większości ankiet nie będzie to inny tweet. – rmh

+1

Przepraszam, musi mi brakować czegoś. Wygląda na to, że jest w porządku chronologicznym: http://search.twitter.com/search.atom?q=microsoft – Kon

+0

To takie dziwne! Kiedy konstruowałem moje zapytania, nie było to z jakiegoś powodu. Nie pamiętam, co robiłem. Okay, dzięki ... czuję się teraz głupio. :) – 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

Wyniki Twitter API są domyślnie posortowane według ostatnich. Zobacz następujący cytat z Twittera encyklopedii:

parametr na Twitter Search API:

result_type: opcjonalnie. Określa typ wyników wyszukiwania, które chcesz otrzymywać.

* 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 

Proszę mnie poprawić, jeśli nigdzie się mylę.

Dzięki i Pozdrawiam,
Abhay Dandekar