Hace poco encontré un interesante tutorial en nettuts que explica como usar jsonp para mostrar los último en twitter sin embargo este mismo script puede ser usado con cualquier origen de datos jsonp para ello basta con cambiar los nombres de las variables.
La estructura
Lo primero es crear nuestro esqueleto HTML donde vamos a mostrar los datos
[cc lang=»html»]
Latest Tweets
[/cc]
AJAX para mostrar JSONP
Luego de incluir la librería jquery debemos buscar los últimos mensajes en twitter para esto usamos el siguiente script:
[cc lang=»javascript»]
(function() {
var UpdatePanel = {
init : function(options) {
this.options = $.extend({
interval : 5000,
number : 3
}, options);
this.updater();
},
[/cc]
Aqui vamos definiendo algunos parámetros como por ejemplo el tiempo para actualizarse (5000), la cantidad de elementos (3)
[cc lang=»javascript»]
updater : function() {
(function updateBox() {
this.timer = setTimeout(function() {
updateIt();
updateBox();
}, UpdatePanel.options.interval);
})();
[/cc]
El sgte. paso es definir la función updater la cual a su vez va a invocar a updateIt y updateBox
[cc lang=»javascript»]
updateIt();
function updateIt() {
$.ajax({
/// tipo de llamada AJAX, url, y tipo JSONP
type : ‘GET’,
url : UpdatePanel.options.url,
dataType : ‘jsonp’,
error : function() {},
// Si se consiguen los datos debe actualizar los resultados
success : function(results) {
var theTweets = »,
elem = UpdatePanel.options.elem.empty();
$.each(results.results, function(index, tweet) {
if ( index === UpdatePanel.options.number ) {
return false;
}
else {
// Definimos lo que vamos a mostrar
theTweets += ‘
‘;
}
});
// Finalmente añadimos los ultimos comentarios
elem.append(theTweets);
}
});
[/cc]
Aqui invocamos y definimos la función updateIt();
[cc lang=»javascript»]
UpdatePanel.init({
interval : 5000,
number : 5,
url : «http://search.twitter.com/search.json?q=batman»,
elem : $(‘#tweets’)
});
[/cc]
Finalmente vamos a inicializar nuestro objeto, definiendo los parámetros respectivos además del lugar donde se mostrarán los útimos mensajes
Pueden ver el código completo AQUI
Y el ejemplo funcionado AQUI