2011-11-02

Usar el api de twitter con jquery

Es posible usar el api de twitter junto con jquery, en concreto con sus potentes capacidades ajax, para mostrar los twits próximos a nuestra zona de busqueda sobre el mapa de nuestro sitio web.

El uso de ajax con jquery es muy simple como vamos a ver con la siguiente función:

function buscarTwitter(mDistancia, lat, lng) {
    var distance = mDistancia / 1000;
    var twitterUrl = "http://search.twitter.com/search.json?q=&rpp=100&geocode=" + lat + "," + lng + "," + distance + "km";
    $.ajax({
        url: twitterUrl,
        cache: false,
        dataType: "jsonp",
        beforeSend: mostrarBuscando(),
        complete: ocultarBuscando(),
        success: function(data) {
            var results = data.results;
            parsearResults(results);
        }
    });
}

En primer lugar construimos la URL de búsqueda en twitter con los parámetros que queremos, en este caso, la latitud, la longitud, y el radio de búsqueda (en kilómetros).

var twitterUrl = "http://search.twitter.com/search.json?q=&rpp=100&geocode=" + lat + "," + lng + "," + distance + "km";


Después usamos la función de jquery $.ajax():

$.ajax({
  url: twitterUrl,
  cache: false,
  dataType: "jsonp",
  beforeSend: mostrarBuscando(),
  complete: ocultarBuscando(),
  success: function(data) {
    var results = data.results;
    parsearResults(results);
  }
});


Aquí es importante notar que:
  • el parámetro dataType es jsonp (el tipo de datos devuelto por el api)
  • el parámetro beforeSend es una función "mostrarBuscando()" que se encarga de hacer visible la "ruedecita" de búsqueda
  • el parámetro complete es una función "ocultarBuscando()" que se encarga de ocultar la "ruedecita" de búsqueda
  • el parámetro success es una función que recoge los datos devueltos por twitter y los presenta en el mapa

Como veis no es dificil usar un api externo haciendo uso de las funcionalidades de jquery.


2 comentarios:

  1. Para tu ejemplo no nesecitas antes realizar una autotentificacion con los tokens y customerskey?

    ResponderEliminar
    Respuestas
    1. Según la documentación del API de Twitter no es necesaria la autenticación previa para el uso de la función de búsqueda (al menos de momento, últimamente están cambiando las condiciones de uso del API).

      Espero que te sea de ayuda

      https://dev.twitter.com/docs/api/1/get/search

      Eliminar