api - tweet - twitter search
¿Cómo puedo usar la API de búsqueda de Twitter para devolver todos los tweets que coinciden con mi consulta de búsqueda, publicados solo en los últimos cinco segundos? (5)
<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>
Me gustaría utilizar la API para devolver todos los tweets que coincidan con mi consulta de búsqueda, pero solo los tweets publicados en los últimos cinco segundos.
Con la API de búsqueda de Twitter, puedo usar el since_id para captar todos los tweets de un ID específico. Sin embargo, realmente no puedo ver una buena manera de encontrar la ID del tweet para comenzar.
También sé que puede usar "desde:" en la consulta real para usar una fecha, pero no puede ingresar una hora.
¿Puede alguien con experiencia en Twitter API ofrecerme algún consejo? Gracias por leer y tu tiempo!
¿Estás intentando sondear tuits en tiempo real? Does not twitter tiene un límite de API req / hora. Creo que golpearías eso bastante rápido.
¿Por qué no haces una llamada a la API cada 5 segundos y tomas el primer tweet?
Esto parece algo que puede hacer en su extremo, ya que created_at es uno de los campos devueltos en el conjunto de resultados. Solo haz tu consulta y solo usa las que están dentro de los últimos 5 segundos.
Los resultados de la API de Twitter están ordenados por reciente de forma predeterminada. Por favor, consulte la siguiente cita de twitter wiki:
Parámetro para la API de búsqueda de Twitter:
result_type: Opcional. Especifica qué tipo de resultados de búsqueda preferiría recibir.
* 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
Por favor corrígeme si estoy equivocado en cualquier lugar.
Gracias y saludos,
Abhay Dandekar