Español | Directorio del sitio

Guía de migración

La iteración más reciente del API de YouTube se basa en el protocolo de datos de Google. La finalidad de este documento es ayudar a los desarrolladores a migrar su sitio web o aplicación a la nueva API de YouTube.

Contenido

Introducción

Aspectos generales

YouTube se ha convertido en el destino más popular de Internet de vídeos online. Gracias al lanzamiento del API REST/XML-RPC original en 2005, miles de desarrolladores contribuyeron a la difusión de vídeos de YouTube, subidos por usuarios de todas partes del mundo, a muchos más equipos. Ahora que el sitio ha madurado, nuestra intención es proporcionar un API completa y compleja a los desarrolladores. Hemos decidido redactar de nuevo el API y estandarizar el protocolo de datos de Google existente. Este movimiento se ha dado por diversos motivos, entre los que se incluyen una mejor escalabilidad y más recursos para los desarrolladores. Este documento te ayudará a obtener información general sobre las novedades y lo que es necesario para migrar tu sitio web o aplicación. La guía de referencia y las guías para desarrolladores de lenguaje específico también son unos recursos excelentes.

¿Quién necesita realizar la actualización?

Todos aquellos que utilicen el API heredada deberán realizar la actualización al API basada en datos de Google. Las nuevas funciones dejarán de estar integradas en el API heredada, y sólo se prestará atención a aquellos errores fundamentales.

¿Cuál es la línea de tiempo de la actualización?

El API heredada continuará en funcionamiento hasta el 30 de agosto de 2008. Después de esa fecha, su existencia no queda garantizada. Te animamos a que hagas el cambio antes de esa fecha y no después, ya que los problemas derivados del API heredada serán de prioridad baja.

¿Cuál es la diferencia entre la antigua API y la nueva API?

En las tablas que aparecen a continuación se muestran las diferencias que existen en las operaciones habituales, de una forma general. Consulta la guía de referencia para obtener más información.

Feeds de vídeos

Operación API heredada API de datos de YouTube Notas/comentarios
Buscar en el índice de YouTube videos.list_by_tag&tag="SEARCH TERMS" /feeds/api/videos?vq="SEARCH TERMS"
  • El API heredada devuelve una búsqueda por relevancia
  • La nueva API admite filtros como, por ejemplo, ordenar por relevancia, hora de subida, puntuación y volumen de reproducciones.
  • Buscar en una categoría concreta videos.list_by_category_and_tag&tag="SEARCH TERMS"&category_id=CATEGORY_ID /feeds/api/videos/-/CATEGORY_NAME
  • El API heredada no permite listados de vídeos de categorías sin restricciones.
  • Los nuevos feeds de categorías admiten esto, además de varias limitaciones de categorías.
  • Obtención de los metadatos de un vídeo videos.get_details&video_id=VIDEO_ID /feeds/api/videos/VIDEO_ID
    Obtención de las respuestas en vídeo de un vídeo N/A /feeds/api/videos/VIDEO_ID/responses
    Obtención de los comentarios de un vídeo videos.get_details&video_id=VIDEO_ID /feeds/api/VIDEO_ID/comments
  • El API heredada devuelve sólo 10 comentarios con get_details.
  • La nueva API devuelve todos los comentarios y conserva la relación principal/secundario.
  • El API de datos de YouTube actualmente no requiere una ID de desarrollador, que sí es necesaria para todas las llamadas del API heredada. A continuación se muestran las funciones adicionales del formato de los parámetros y los filtros.

    La paginación está disponible tanto en la nueva API como en el API heredada. Los nuevos parámetros de paginación se detallan a continuación.

    • start-index: indica qué entrada debe comenzar a mostrar los resultados; no se corresponde con el parámetro page del API heredada, que indica qué página de resultados se debe mostrar.
    • max-results: indica el número máximo de entradas que se mostrarán; esto se corresponde al parámetro per_page del API heredada.

    Por ejemplo, si vas a procesar 1.000 resultados, 50 cada vez, el start-index de inicio será igual a 1, y el max-results será igual a 50. La siguiente iteración, el start-index será igual a start-index + max-results, 51. En el API heredada, el parámetro page empezará en 1, y per_page será igual a 50. A continuación, el parámetro page aumentará en 2, y así sucesivamente, para el resto de iteraciones.

    El API de datos de YouTube añade compatibilidad con los siguientes parámetros de consulta:

    • vq: consulta de búsqueda de texto completo (busca contenido como, por ejemplo, título de vídeo, descripción, etiquetas, etc.).
    • format: limita la búsqueda a los vídeos disponibles en formatos específicos (por ejemplo, format=0 es Flash, formato en el que están disponibles todos los vídeos); consulta la guía de referencia para obtener información sobre los formatos disponibles.
    • alt: controla el formato de salida (RSS, Atom, JSON), tal como se describe en http://code.google.com/intl/es/apis/gdata/reference.html#Queries.
    • author: limita la búsqueda a vídeos subidos por un usuario de YouTube específico, tal como se describe en http://code.google.com/intl/es/apis/gdata/reference.html#Queries.
    • orderby: orden en el que se devolverán los elementos, puede ser relevance (predeterminado), published, viewCount, rating.
    • racy: añade racy=include para incluir contenido de acceso restringido marcado por la comunidad; el valor predeterminado es exclude.

    Una búsqueda de vídeos relacionados con la palabra "monkey", con paginación, tendría el siguiente aspecto en el API heredada y el API de datos de YouTube, respectivamente.

    http://www.youtube.com/api2_rest?method=youtube.videos.list_by_tag&dev_id=DEV_ID&tag=monkey&page=1&per_page=50
    http://gdata.youtube.com/feeds/api/videos?vq=monkey&start-index=1&max-results=50

    Una solicitud de función común sería ordenar un feed de vídeos por los vídeos más recientes. Para hacer esto con el API de datos de YouTube, añade orderby=published como parámetro.

    http://gdata.youtube.com/feeds/api/videos?vq=monkey&orderby=published&start-index=1&max-results=50

    Feeds de usuario

    Operación API heredada API de datos de YouTube Notas/comentarios
    Obtención del perfil de un usuario users.get_profile&user=USERNAME /feeds/api/users/USERNAME
    Obtención de los vídeos de un usuario videos.list_by_user&user=USERNAME /feeds/api/users/USERNAME/uploads
    Obtención de los favoritos de un usuario users.list_favorite_videos&user=USERNAME /feeds/api/users/USERNAME/favorites
  • El API heredada devuelve un máximo de 10 favoritos del usuario.
  • La nueva API devuelve todos los vídeos favoritos de un usuario con paginación.
  • Obtención de las listas de reproducción de un usuario N/A /feeds/api/users/USERNAME/playlists
  • El API heredada devuelve sólo 10 comentarios con get_details.
  • La nueva API devuelve todos los comentarios y conserva la relación principal/secundario.
  • Obtención de las suscripciones de un usuario N/A /feeds/api/users/USERNAME/subscriptions

    Para mostrar una lista con los vídeos de un usuario concreto a través del API heredada y la nueva API habría que escribir lo siguiente:

    http://www.youtube.com/api2_rest?method=youtube.videos.list_by_user&dev_id=DEV_ID&user=USERNAME
    http://gdata.youtube.com/feeds/api/users/USERNAME/uploads

    Muchos de los filtros que se aplican a los nuevos feeds de vídeos se pueden aplicar a los feeds de usuarios. Por ejemplo, puedes realizar una búsqueda de texto en los vídeos subidos de un usuario.

    http://gdata.youtube.com/feeds/api/users/USERNAME/uploads?vq="dogs on bicycles"

    Consulta la guía de referencia para obtener más información sobre qué parámetros de consulta se aplican a cada uno de los feeds.

    Feeds de listas de reproducción

    Operación API heredada API de datos de YouTube Notas/comentarios
    Obtención de los vídeos de una lista de reproducción videos.list_by_playlist&id=PLAYLIST_ID /feeds/api/playlists/PLAYLIST_ID
    Obtención de las listas de reproducción de un usuario N/A /feeds/api/users/USERNAME/playlists

    Para mostrar una lista con los vídeos de una lista de reproducción concreta a través del API heredada habría que escribir lo siguiente:

    http://youtube.com/dev_api_ref?m=youtube.videos.list_by_playlist&dev_id=DEV_ID&id=PLAYLIST_ID

    Con el API de datos de YouTube, la llamada sería algo así:

    http://gdata.youtube.com/feeds/api/playlists/PLAYLIST_ID

    Consulta la guía de referencia para obtener más información sobre qué parámetros de consulta se aplican a cada uno de los feeds.

    A continuación...

    Estamos comprometidos para continuar con el desarrollo de la nueva API basada en datos de Google, incluidas nuevas funciones como subidas y otras llamadas de escritura. Si quieres solicitar una función o informar de algún error, puedes registrar tu petición en el servicio de registro y seguimiento de problemas de datos de Google. También estamos añadiendo la compatibilidad del API de YouTube a las bibliotecas de cliente de datos de Google. Java ya es compatible, y PHP y Python lo serán pronto. Si tienes alguna pregunta más, publícala en el foro de debate. ¡Suerte con la programación!

    Volver al principio