Listar videos subidos a Youtube en tu Página

16 de agosto de 2012

Hola gente....

Hoy quiero compartir con ustedes una pequeña rutina que obtiene los vídeos que cualquier usuario de Youtube haya subido a su canal.

Utilizaremos para ello Jquery, asi que vayan haciendo referencia en la cabecera de sus paginas, para poder utilizarlo.

Lo primero que haremos sera construir la URL que nos devolverá la lista de vídeos subidos por un usuario de Youtube.

Para ello podes dar click a este link que nos llevara a la pagina de la Api de Youtube, donde hay una serie de parametros para construir nuestra URL., copian la direccion generada que sera similar a esta:

"http://gdata.youtube.com/feeds/api/videos?lr=es&orderby=published&author=lenincasco"

Básicamente obtiene los videos subidos por "lenincasco" ordenados por fecha de publicacion y que la metadata esté en español.

Bien ahora Jquery.

<script>


$.get("http://gdata.youtube.com/feeds/api/videos?lr=es&orderby=published&author=lenincasco", 

function (xml) {
$(xml).find("entry").each(

function () {
var idd = $(this).find('id');
var $id = idd.text().substring(42);

$("#videos").append("<li><iframe type='text/html' height='100%'     width='100%' src='http://www.youtube.com/embed/" + $id + "'></iframe></li>");
});

});

</script>


Explicación:

Con .get() es una función de Jquery que recibe como parámetros una URL de donde va a obtener los datos, y en este caso una función para el CallBack, la cual tiene el elemento "xml" que es la Data regresada en el request de la Url.

con jquery buscamos el elemento "entry" en el arbol de la Data regresada, y para cada uno de ellos ejecutamos otra función anonima, dentro de esta buscamos el elemento "id" que esta dentro de la "entry" y la almacenamos en la variable "idd", "idd" nos regresa una url conteniendo al final de esta el id de cada video.

http://gdata.youtube.com/feeds/api/videos/l03R-F2dhlo

Lo que haremos sera extraer ese ID del final de está URL.

Primero convertimos a texto la url con esta instrucción idd.text(), luego hacemos un substring que nos regresara una subcadena y le decimos que nos regrese los caracteres restantes a partir del indice 42 (longitud de la url sin el ID).

luego solo nos resta armar nuestra forma de presentarlo en Html, asi que concatenamos el ID obtenido con el html correspondiente del Iframe donde pondremos nuestro video.

Comenten si les resulta.

Hasta la próxima.


Cómo crear un Servidor NodeJS

8 de agosto de 2012

Hola gente...

Hoy quiero compartirles este mini tuto, para crear un servidor Nodejs.

Lo primero es que voy a asumir que ya tienen instalado NodeJs, en sus computadoras.

Bien al grano.

Abrimos nuestro editor de texto preferido (SublimeText2), y comenzamos a codear.

//Declaramos una variable llamada http y le decimos que requiera el protocolo 'http'
var http = require('http');

//Declaramos una variable llamada servidor y le decimos que se inicialice con la creacion del servidor.
var servidor = http.createServer(); 

//Y le decimos que al servidor creado que almacenamos en 'server', que escuche en el puerto 8080.
server.listen(8080);

//Y para que sepamos que realemente esta corriendo, imprimimos en la consola.
console.log('Servidor inciado y escuchando en el puerto 8080');

Ahora le damos guardar a nuestro archivo, escogemos un directorio de nuestra PC, y le damos un nombre con extensión JS. (como ejemplo usaremos el nombre 'server.js')

Perfecto con esto ya está creado el servidor NodeJs, pero ahora falta iniciarlo.

Para eso vamos a la consola y buscamos el directorio donde creamos el archivo del servidor, una vez dentro ejecutamos la siguiente instrucción.

node server.js

y veremos algo como esto.



Si se fijan es el mismo mensaje que imprimimos a consola. con esto sabemos que el servidor está corriendo.

Genial, pero que pasa si vamos a nuestro servidor local 'localhost:8080'. y al puerto donde escucha nuestro server? bueno no pasa nada, precisamente porque no le dijimos a nuestro servidor que hiciera algo, solo que escuchara en ese puerto.

Bien cambiemos algo más en nuestro codigo del server, para que aparezca algo en nuestro navegador cuando entremos a 'localhost:8080'....

En la parte donde creamos nuestro servidor agregamos una función, de ésta manera.

server = http.createServer( function (request, response) {
      response.writeHead(200, {"Content-Type" :  "text/html"});
      response.write("<div><h1>Hola Mundo</h1></div>");
      response.end();
});

En pocas palabras le decimos a nuestro server que el tipo de contenido sera texto / html
ademas escribimos html con un Hola Mundo

Ahora a probar nuevamente nuestro 'localhost:8080' y veremos nuestro Hola Mundo.

Bueno todo por hoy, ya iremos viendo algunos ejemplos con NodeJs.








Lenín Casco

Blog Informático