Twitter y AS3. Básico

Me he encontrado un nuevo reto: incluir twitter en Flash. Sin haber indagado nada, he optado por ir al buscador de twitter y me he llevado una grata sorpresa porque puede devolver un xml con los resultados de búsqueda. Más adelante he visto que existen varias API para usarlo, pero me he dedicado a parsear el xml, cosa bastante sencilla por cierto.

He aquí un ejemplo sencillo:

var user:String;
var url:String;
var tweetCount:int;
var tweets:Array;
var times:Array;

user = "looup";
tweetCount = 10;
loadTweets();

function loadTweets()
{
	url = "http://search.twitter.com/search.atom?from=" + user + "&rpp=" + tweetCount;
	var urlReq:URLRequest = new URLRequest(url);
	var loader:URLLoader = new URLLoader();
	loader.addEventListener(Event.COMPLETE, getTweets);
	loader.addEventListener(IOErrorEvent.IO_ERROR, IOError);
	loader.addEventListener(SecurityErrorEvent.SECURITY_ERROR, SError);
	loader.load(urlReq);
}
function getTweets(e:Event):void
{
	if (e.target.data)
	{
		tweets = new Array();
		times = new Array();
		var twitterXML:XML = new XML(e.target.data);
		var tweetList:XMLList = twitterXML.children();
		var tweetItem:String;
		var timeItem:String;
		//trace(twitterXML);
		for (var i:int = 0; i < tweetList.length(); i++)
		{
			tweetItem = tweetList[i].*::title;
			timeItem = tweetList[i].*::published;
			if (tweetItem != "")
			{
				tweets.push(tweetItem);
				trace(tweetItem);
			}
			if (timeItem != "")
			{
				timeItem = timeItem.split("T").join(" - ");
				timeItem = timeItem.split("Z").join("");
				times.push(timeItem);
				trace(timeItem);
			}
		}
		trace(tweets.length);
	}
}

function IOError(e:Event):void
{
	trace("io error!");
}
function SError(e:Event):void
{
	trace("security error!");
}

Lo que hay que tener en cuenta es la cadena de búsqueda. Estos son algunos de los parámetros.

  • q
  • ands
  • phrase: que incluya esta frase
  • ors: o esto
  • nots: pero no esto
  • tag
  • lang [=all]: idioma
  • from: usuario
  • to: a usuario
  • ref
  • near: cercano a (en millas o km)
  • within [=15]
  • units [=mi]
  • since: desde
  • until: hasta
  • rpp [=15]: resultados por página

Teniendo en cuenta que los he sacado utilizando ingeniería inversa, no está mal ;) . Para seguir hurgando, en el buscador avanzado de twitter.

Comparte:
  • Facebook
  • Meneame
  • Bitacoras.com
  • BarraPunto
  • del.icio.us
  • Print
  • Digg
  • Google Bookmarks
  • Tumblr
  • Twitter

Deja un comentario