Beruflich Dokumente
Kultur Dokumente
Autores:
BORJA SEGURA, Guillermo Martin
MORALES ORDIANO, Nilton
RODRIGUEZ MELGAREJO, Hugo
TÁVARA SÁNCHEZ, Jahaira
pág. 2
INTRODUCCIÓN
Todos somos conscientes de que actualmente las personas dedican parte de su tiempo
a la busqueda de videos en la web. Actualmente el mayor sitio de alojamiento de videos
es YouTube el cual tiene objetivo: ayudar a los espectadores a encontrar los vídeos que
les interesan y maximizar sus interacciones y su satisfacción a largo plazo.
Siendo YouTube hoy por hoy y una pista más del potencial tan tremendo que tiene el
canal audiovisual para casi cualquier actividad (o simplemente para divertirse) ya que
es un canal muy atractivo y fácil de consumir, de hecho, para la gran mayoría del público
más fácil que los canales basados en texto como los blogs.
pág. 3
PLAN DE INVESTIGACIÓN
No es de conocimiento privado que las redes sociales crecen día a día y poseen
información tanto personal, como de opiniones de los usuarios que las utilizan.
YouTube siendo una de las aplicaciones más utilizadas no es escapa de ello por
lo cual para acceder a su API el modo de conexión es muy similar a Twitter dado
que los videos están disponibles públicamente. Las restricciones de acceso no
son medidas por intervalos cortos de tiempo donde se permite un número
máximo de peticiones, sino que es controlado por día. Para ello YouTube asigna
diariamente un número de ’Unidades’ para cada aplicación (no es por usuario) y
cada operación que se realiza tiene un costo de esas unidades.
Ahora bien, cuando se requiere realizar una búsqueda de videos, YouTube tiene
una restricción que permite recuperar un máximo de 500 videos por búsqueda y
no tiene una restricción de temporalidad, es decir, pueden recuperarse videos
que fueron subidos recientemente o de meses atrás. Si la búsqueda devuelve
más de 500 videos, YouTube sugiere que se utilicen otros criterios de búsqueda
para refinar los resultados y de esta forma obtener la información deseada.
Por lo cual YouTube hace uso principalmente de XML para compartir sus datos
y para enviar respuestas o mensajes de error, sólo algunos recursos pueden ser
configurados para que la respuesta sea devuelta en formato JSON. Siendo la
versión actual del API de YouTube es la 3.0.
pág. 4
2. OBJETIVOS
3. ANALISIS TEORICO
3.1. API
Para Daniel Jacobson (2011) nos indica que una API es una especificación
formal sobre cómo un módulo de un software se comunica o interactúa con otro.
Lo que conlleva a que las API son un conjunto de comandos, funciones y
protocolos informáticos que permiten a los desarrolladores crear programas
específicos para ciertos sistemas operativos. Las API simplifican en gran medida
el trabajo de un programador, ya que ahorra el al no partir desde una codificación
desde inicio. Estas permiten al informático usar funciones predefinidas para
interactuar con el sistema operativo o con otro programa
Es por ello las API son valiosas, ante todo, porque permiten hacer uso de
funciones ya existentes en otro software lo que conlleva simplemente a reutilizar
lo ya creado, así se sabe que código ya está probado y que funciona
correctamente.
pág. 5
3.1.1. Obtención de una llave API-Google-Youtube
pág. 6
Fig. Nº2: Creación de llave api
Menú izquierda/Credenciales
pág. 7
Acceso a API pública, crear nueva clave
Parámetros
Parámetros obligatorios
string
El parámetro part especifica una lista
separada por comas de una o más
propiedades de recursos de search
que la respuesta de API va a incluir.
Los nombres de part que se pueden
incluir en el valor del parámetro son
id y snippet
Si el parámetro identifica una
propiedad que contiene propiedades
part
secundarias, estas se incluirán en la
respuesta. Por ejemplo, en un
resultado de search, la propiedad
snippet contiene otras propiedades
que identifican el título del resultado,
la descripción y así sucesivamente.
Si se establece part=snippet, la
respuesta de la API también
contendrá todas esas propiedades
anidadas
unsigned integer
El parámetro maxResults especifica
el número máximo de elementos que
maxResults se debe mostrar en el conjunto de
resultados. Los valores aceptables
son {0/} a 50, ambos inclusive. El
valor predeterminado es 5.
pág. 8
Una clave de interfaz de
programación de aplicaciones es un
código que pasan los programas de
computadora llamando a una
key
interfaz de programación de
aplicaciones para identificar al
programa llamante, su desarrollador
o su usuario al sitio web
Fuente https://developers.google.com/youtube
pág. 9
Fuente: https://developers.google.com/youtube/v3/docs/search/list
pág. 10
pág. 11
Fuente: https://developers.google.com/custom-search/v1/using_rest
pág. 12
FIREBASE
Es la nueva y mejorada plataforma de desarrollo móvil en la nube de Google. Se trata
de una plataforma disponible para diferentes plataformas (Android, iOS, web), con lo
que de esta forma presentan una alternativa seria a otras opciones para ahorro de
tiempo en el desarrollo
Veamos, uno por uno, los servicios más destacados que nos ofrece Firebase para
trabajar de una manera más sencilla en nuestra aplicación.
Con la base en tiempo real de Firebase podrás guardar todos los datos que requiera tu
aplicación. Esta base de datos funciona en tiempo real por lo que los cambios se
mostrarán al instante. Estos se almacenan en formato JSON y se pueden agregar
reglas para permitir requests con token o solo desde una URL por ejemplo.
Autenticación
Almacenamiento
Este servicio es muy bueno para aplicaciones que requieran guardar archivos del
usuario. También nos sirve si queremos subir estáticos ya que existe un botón desde
la interfaz o podemos programar algo. En la aplicación que estoy desarrollando
actualmente me sirve para subir fotos de restaurantes ya acceder a ellas en cualquier
momento.
Hosting
Con una colección de estáticos podemos subir una aplicación y esta automáticamente
contará con SSL y HTTP2. Si tenemos una app con Angular o Firebase podemos
hacer un build desde nuestros ordenadores y subir estos archivos generados y nos
funcionarán sin problemas. Si necesitamos un Backend tendríamos que subirlo a otro
lugar o hacer uso de las Cloud Functions, además de otras utilidades.
pág. 13
pág. 14
Fuente: https://firebase.google.com/
pág. 15
3.2. JSON
1
https://www.json.org/json-es.html
pág. 16
Fuente: https://www.iana.org/assignments/http-status-codes/http-status-codes.xhtml
Fuente: https://www.iana.org/assignments/http-status-codes/http-status-codes.xhtml
pág. 17
4. ANALISIS PRÁCTICO
package youtube;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.ProtocolException;
import java.net.URL;
import java.util.logging.Level;
import java.util.logging.Logger;
import org.json.simple.JSONArray;
import org.json.simple.JSONObject;
import org.json.simple.parser.JSONParser;
import org.json.simple.parser.ParseException;
/**
*
* @author diegoromero
*/
public class Buscador {
if (connection.getResponseCode() != 200) {
throw new RuntimeException("Failed : HTTP Error code : "
+ connection.getResponseCode());
}
InputStreamReader in = new
InputStreamReader(connection.getInputStream());
BufferedReader br = new BufferedReader(in);
String output;
StringBuilder sb = new StringBuilder();
while ((output = br.readLine()) != null) {
pág. 18
sb.append(output + "\n");
}
4.2. APLICACION
Inicio de la aplicación
pág. 19
Búsqueda en la aplicación
pág. 20
5. CONCLUSIONES
6. BIBLIOGRAFIA
Woods, D., Brail, G., & Jacobson, D. (2011). API (6ª Ed.). New York: O'Reilly
Media.
https://developers.google.com/youtube)https://developers.google.com/yo
utube
https://www.iana.org/assignments/http-status-codes/http-status-
codes.xhtml)https://www.iana.org/assignments/http-status-codes/http-
status-codes.xhtml
https://www.json.org/json-es.html)https://www.json.org/json-es.html
pág. 21