YQL - Yahoo Query Language - Introduccion
Hola chavos, antes que nada una disculpa por mi ausencia, he estado un poco ocupado debido a mi trabajo y mi especialidad pero hoy les quiero compartir algo que he encontrado muy útil.
De seguro han escuchado hablar de REST APIs que existen alrededor de la web (para los que no ubican que es una REST API, dejemoslo en un simple concepto: es un servicio el cual una empresa o industria, como Wikipedia, Google y otras empresas mas proveen, el cual sirve para exponer su contenido a terceras personas, como lo exponen? usando servicios Web!). Yahoo por supuesto expuso su contenido (Clima, Noticias, etc.) mediante un servicio como estos, pero no se detuvo ahí, desarrollo un lenguaje propio conocido como YQL, el cual sirve no solo para acceder al contenido de Yahoo, si no sirve también para acceder al contenido de otras Industrias!, tales como:
Como podemos ver YQL son sirve de intermediario entre todas estas APIs y en lugar de tener muchas a llamadas a distintos servicios, tenemos muchas llamadas a un solo servicio! Esto nos es de utilidad cuando queremos controlar el trafico en nuestro sistema, es decir, usando YQL solo se tienen llamadas a un solo dominio y respuestas de este mismo, si se encuentran llamadas de cualquier otro dominio, se puede considerar un problema de seguridad.
Desde luego tiene muchos mas usos, como una consola, la cual la podemos utilizar para generar de manera mas simple nuestros requests, como podemos ver en la imagen:
YQL tiene su propia documentacion la cual nos ayuda mucho en nuestros desarrollos:
Bien y como lo he hecho desde que cree el blog, les mostrare de manera sencilla como utilizar la consola de YQL (si planean usar YQL, les recomiendo usar mucho la consola, ya que nos ayuda mucho al momento de formar nuestras queries). Para este ejemplo buscare vídeos de Youtube relacionados con la búsqueda: Leones Negros UDG:
Si copiamos y pegamos el actual request (https://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20youtube.search%20where%20query%3D%22Leones%20Negros%20UDG%22&format=json&diagnostics=true&env=store%3A%2F%2Fdatatables.org%2Falltableswithkeys&callback=) veremos un resultado similar al siguiente:
Y bueno chavos, como utilizaremos YQL en nuestros programas? simple utilizando el actual request, se puede utilizar en PHP, Java, etc. pero eso se los mostrare mas adelante. Por lo pronto nos vemos, y espero que esto les haya sido de utilidad. Adiós ^_^/
NOTA: para cualquier duda o pregunta, pueden seguirme ya sea en:
Twitter:https://twitter.com/bartsis
Facebbok: https://www.facebook.com/brion2591
De seguro han escuchado hablar de REST APIs que existen alrededor de la web (para los que no ubican que es una REST API, dejemoslo en un simple concepto: es un servicio el cual una empresa o industria, como Wikipedia, Google y otras empresas mas proveen, el cual sirve para exponer su contenido a terceras personas, como lo exponen? usando servicios Web!). Yahoo por supuesto expuso su contenido (Clima, Noticias, etc.) mediante un servicio como estos, pero no se detuvo ahí, desarrollo un lenguaje propio conocido como YQL, el cual sirve no solo para acceder al contenido de Yahoo, si no sirve también para acceder al contenido de otras Industrias!, tales como:
- Amazon
- Apple
- BBC
- Clicker
- Ebay
- Flickr
- Paypal
- SalesForce
- Skype
- Spotify
- Tumblr
- W3C
- Youtube
- Etc...
Como podemos ver YQL son sirve de intermediario entre todas estas APIs y en lugar de tener muchas a llamadas a distintos servicios, tenemos muchas llamadas a un solo servicio! Esto nos es de utilidad cuando queremos controlar el trafico en nuestro sistema, es decir, usando YQL solo se tienen llamadas a un solo dominio y respuestas de este mismo, si se encuentran llamadas de cualquier otro dominio, se puede considerar un problema de seguridad.
Desde luego tiene muchos mas usos, como una consola, la cual la podemos utilizar para generar de manera mas simple nuestros requests, como podemos ver en la imagen:
YQL tiene su propia documentacion la cual nos ayuda mucho en nuestros desarrollos:
Bien y como lo he hecho desde que cree el blog, les mostrare de manera sencilla como utilizar la consola de YQL (si planean usar YQL, les recomiendo usar mucho la consola, ya que nos ayuda mucho al momento de formar nuestras queries). Para este ejemplo buscare vídeos de Youtube relacionados con la búsqueda: Leones Negros UDG:
- Primero nos dirigimos a la consola de YQL en el siguiente link, veremos la siguiente pantalla:
- Ahora hay que entender un poco de la interfaz de la consola:
- Opción para mostrar u ocultar las tablas comunitarias (ajenas a Yahoo)
- Opción para buscar una tabla en especifico
- Tabla
- Categoría de las tablas
- Campo de texto donde aparece nuestra consulta en YQL
- Botón para probar nuestra consulta (sirve también para ejecutarla si es que esta bien realizada)
- Opción para mostrar los campos en nuestro response (respuesta) referentes al debug en la operación
- Similar a la opción de debug pero en este caso para mostrar campos referentes al diagnostico de la consulta
- Response o respuesta de nuestra consulta
- Request actual de nuestra consulta*
- Distintos tipos de vistas(yo en lo personal prefiero la opción de Árbol)
- Elegir entre el tipo de respuesta, XML o JSON
- Bien una vez entendido, nos dirigiremos a la categoría de youtube y elegiremos la tabla youtube.search
- Ahora modificaremos la query de la siguiente manera: select * from youtube.search where query="Leones Negros UDG", y presionaremos el botón test
- Una vez hecho esto nos traerá un objeto ya sea JSON o XML (dependiendo la opción que elegimos). Como ya se abran dado cuenta pueden ver de distintas maneras el resultado y, bueno yo en lo personal prefiero recibir objetos JSON ya que estos objetos son mucho mas rápidos de leer a diferencia de los XML. El objeto results tendra el resultado de nuestra búsqueda en youtube
Si copiamos y pegamos el actual request (https://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20youtube.search%20where%20query%3D%22Leones%20Negros%20UDG%22&format=json&diagnostics=true&env=store%3A%2F%2Fdatatables.org%2Falltableswithkeys&callback=) veremos un resultado similar al siguiente:
Y bueno chavos, como utilizaremos YQL en nuestros programas? simple utilizando el actual request, se puede utilizar en PHP, Java, etc. pero eso se los mostrare mas adelante. Por lo pronto nos vemos, y espero que esto les haya sido de utilidad. Adiós ^_^/
NOTA: para cualquier duda o pregunta, pueden seguirme ya sea en:
Twitter:https://twitter.com/bartsis
Facebbok: https://www.facebook.com/brion2591
y para google como seria en la busqueda por ejemplo
ReplyDelete