Migración del sitio web o aplicación a la nueva API de YouTube

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

    1. Aspectos generales
    2. ¿Quién necesita realizar la actualización?
    3. ¿Cuál es la línea de tiempo de la actualización?
  1. ¿Cuál es la diferencia entre la antigua API y la nueva API?
  2. A continuación…

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:

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.

Aspectos generales

Este documento está orientado a programadores que estén desarrollando aplicaciones cliente que interactúen con YouTube. En este documento se complementa la información incluida en el protocolo de la guía del desarrollador, así como en las guías específicas de cada lenguaje para los desarrolladores de Java y PHP.

En este documento se indican los distintos tipos de feeds que puedes recuperar con el API de datos de YouTube. También se incluyen diagramas en los que se explican cómo desplazarse entre los distintos feeds. Por ejemplo, los diagramas muestran que el feed de las listas de reproducción de un usuario contiene direcciones URL asociadas a datos y listas de reproducción individuales, como el perfil de un usuario. Los diagramas también indican cómo desplazarse de un feed a otro. Por último, en este documento se definen los parámetros utilizados en las solicitudes del API de datos de YouTube, así como las etiquetas XML devueltas en una respuesta del API. Para los desarrolladores de Java y PHP, las etiquetas XML se corresponden directamente con una propiedad de un objeto VideoEntry, ProfileEntry u otro tipo de objeto.

Valores de proyección

El API de datos de YouTube ofrece distintas vistas (o proyecciones) de los datos disponibles en el API. En la Guía del desarrollador y en los ejemplos de este documentos se utiliza la proyección api, que admite todas las etiquetas definidas en la sección de definiciones de elementos XML de este documento.

La mayoría de los desarrolladores que hagan uso de este documento utilizarán la proyección api. Sin embargo, si se van a desarrollar aplicaciones para móviles, se puede sustituir “api” por “mobile” en cualquiera de las solicitudes de ejemplo descritas en la documentación del API. De forma similar, si se prefiere utilizar la proyección base, más adecuada para los lectores de feeds, se puede sustituir “api” por “base” en cualquiera de las solicitudes de ejemplo descritas en la documentación del API.

En la tabla siguiente se describen los valores de las proyecciones disponibles:

Nombre de la proyección

Descripción

api

Esta proyección muestra feeds compatibles con todos los elementos XML definidos en este documento, incluidas todas las etiquetas relevantes en los esquemas de YouTube y Media RSS. Todas las propiedades contienen texto sin formato, no texto HTML.

base

Esta proyección muestra feeds Atom básicos sin ningún elemento de extensión. Sus propiedades <atom:summary> y <atom:content> contienen código HTML codificado según la entidad.

mobile

Esta proyección admite la mayoría de los elementos XML definidos en esta documentación y se debe utilizar cuando los desarrolladores deseen crear aplicaciones para móviles.

Tipos de feeds

Puedes recuperar los siguientes tipos de feeds del API de datos de YouTube:

Feeds de vídeos* – hay varios tipos de feeds de vídeos
Feed de listas de reproducción del usuario
Feed de suscripciones del usuario
Feed de comentarios sobre vídeos
Entrada de perfil de usuario
Feed de contactos del usuario

El API permite recuperar cualquiera de estos feeds sin necesidad de autenticación. Sin embargo, en algunos casos las solicitudes autenticadas permiten recuperar información adicional. Por ejemplo, si envías una solicitud autenticada para obtener la lista de los vídeos que ha subido un usuario, el feed contendrá tanto vídeos privados como vídeos rechazados o pendientes. Los vídeos privados, pendientes y rechazados no aparecerán en las respuestas a una solicitud de API sin autenticar ni a una solicitud de vídeos subidos por cualquier usuario que no sea el usuario autenticado actualmente.

Para añadir o actualizar vídeos, listas de reproducción, suscripciones, puntuaciones, comentarios o cualquier otra cosa, deberás autenticar todas las solicitudes, incluidas las solicitudes GET, con una clave de desarrollador mediante el método AuthSub o ClientLogin.

Feeds de vídeos

Los feeds de vídeos devuelven un grupo de entradas de vídeos. Cada entrada de vídeo contiene a su vez información sobre un vídeo específico del conjunto de resultados del feed de vídeos. El API de datos de YouTube permite recuperar los siguientes tipos de feeds de vídeos:

Feed de vídeos
Feed de vídeos relacionados
Feed de respuestas en vídeo
Feeds estándar
Feed de vídeos favoritos del usuario
Feed de lista de reproducción

Videos feed

El API devuelve un feed de vídeos en respuesta a una solicitud de búsqueda de vídeos. Un feed de vídeos puede contener un máximo de 999 entradas. Para recuperar los resultados de la búsqueda, envía una solicitud de API a la siguiente URL:

http://gdata.youtube.com/feeds/projection/videos

Los resultados de las búsquedas pueden utilizar cualquiera de los parámetros de consulta definidos en la sección de referencia de parámetros de consulta de este documento, a excepción del parámetro time. Por ejemplo, la siguiente URL solicitaría todos los vídeos relacionados con la consulta “skateboarding dog,” empezando por el resultado de búsqueda 21º y devolviendo 10 resultados:

http://gdata.youtube.com/feeds/api/videos?

vq=skateboarding+dog

&start-index=21

&max-results=10

Related videos feed

El feed de vídeos relacionados contiene una lista de vídeos relacionados con otro vídeo. YouTube selecciona de forma algorítmica el conjunto de vídeos relacionados.

Cada entrada de vídeo de una respuesta del API contiene una serie de etiquetas <link>. La etiqueta <link> que tiene http://gdata.youtube.com/schemas/2007/#video.related como valor del atributo rel identifica la URL que se utilizará para recuperar otros vídeos relacionados con esa entrada de vídeo. (El atributo href de la etiqueta <link> identifica la URL.)

<link rel=”http://gdata.youtube.com/schemas/2007#video.related

type=”application/atom+xml”

href=”http://gdata.youtube.com/feeds/api/videos/ZTUVgYoeN_b/related”/&gt;

Un feed de vídeos relacionados puede contener un máximo de 100 vídeos.

Video responses feed

Un feed de respuestas en vídeo contiene vídeos creados explícitamente como respuestas a otros vídeos. Del mismo modo que se pueden crear vídeos como respuesta en vídeo a vídeos específicos, puede haber vídeos que no tengan ninguna respuesta en vídeo.

Cada entrada de vídeo de una respuesta del API contiene una serie de etiquetas <link>. La etiqueta <link> que tiene http://gdata.youtube.com/schemas/2007/#video.responses como valor del atributo rel identifica la URL que se utilizará para recuperar respuestas en vídeo correspondientes a esa entrada de vídeo. (El atributo href de la etiqueta <link> identifica la URL que se muestra en el siguiente ejemplo.)

<link rel=”http://gdata.youtube.com/schemas/2007#video.responses&#8221;

type=”application/atom+xml”

href=”http://gdata.youtube.com/feeds/api/videos/ZTUVgYoeN_b/responses”/&gt;

Standard feeds

Los feeds estándar contienen listas de vídeos que reflejan el comportamiento del usuario de YouTube, como feeds de los vídeos más vistos o más valorados, o que han sido seleccionados por el personal de YouTube, como feeds de vídeos móviles y últimos vídeos destacados. Muchos de estos feeds aparecen en la ficha Vídeos del sitio web de YouTube.

Para recuperar un feed estándar, envía una solicitud GET HTTP a la URL asociada a ese feed. En la tabla siguiente se identifica la URL asociada a cada feed estándar:

Nombre

ID del feed

Ejemplo

Más valorados

top_rated

http://gdata.youtube.com/feeds/api/standardfeeds/top_rated

Superfavoritos

top_favorites

http://gdata.youtube.com/feeds/api/standardfeeds/top_favorites

Más vistos

most_viewed

http://gdata.youtube.com/feeds/api/standardfeeds/most_viewed

Más recientes

most_recent

http://gdata.youtube.com/feeds/api/standardfeeds/most_recent

Más comentados

most_discussed

http://gdata.youtube.com/feeds/api/standardfeeds/most_discussed

Más enlazados

most_linked

http://gdata.youtube.com/feeds/api/standardfeeds/most_linked

Con más respuestas

most_responded

http://gdata.youtube.com/feeds/api/standardfeeds/most_responded

Últimos destacados

recently_featured

http://gdata.youtube.com/feeds/api/standardfeeds/recently_featured

Vídeos para teléfonos móviles

watch_on_mobile

http://gdata.youtube.com/feeds/api/standardfeeds/watch_on_mobile

Recuperación de feeds estándar específicos de una región

El API permite recuperar feeds estándar específicos de una región mediante la inserción de una ID de región en la URL del feed estándar. La siguiente URL muestra el formato de las direcciones URL que se deben utilizar para recuperar feeds estándar específicos de una región:

http://gdata.youtube.com/feeds/api/standardfeeds/regionID/feedID

Por ejemplo, para recuperar una lista de los vídeos más valorados en Japón, se debería enviar una solicitud GET HTTP a la siguiente URL:

http://gdata.youtube.com/feeds/api/standardfeeds/JP/top_rated

Nota: no se encuentran disponibles versiones del feed estándar watch_on_mobile específicas de una región.

En la siguiente tabla se identifican los países para los que el API de datos de YouTube admite feeds localizados y la ID de región (regionID) asociada a cada país:

País

ID de región

Australia

AU

Brasil

BR

Canadá

CA

Francia

FR

Alemania

DE

Gran Bretaña

GB

Holanda

NL

Hong Kong

HK

Irlanda

IE

Italia

IT

Japón

JP

México

MX

Nueva Zelanda

NZ

Polonia

PL

Rusia

RU

Corea del Sur

KR

España

ES

Taiwán

TW

Estados Unidos

US

Uso del parámetro de tiempo con feeds estándar

Todos los feeds estándar admiten el parámetro de consulta time, que permite restringir el contenido del feed a los resultados relevantes del día, la semana o el mes anterior. Por ejemplo, para recuperar los vídeos más valorados del día anterior, debes enviar una solicitud GET HTTP a la siguiente URL:

http://gdata.youtube.com/feeds/api/standardfeeds/top_rated?time=today

User’s favorites feed

El feed de vídeos favoritos recupera una lista de los vídeos que un determinado usuario ha marcado explícitamente como favoritos. En el sitio web de YouTube, un usuario puede ver y editar su lista de vídeos favoritos en la página de su cuenta y los vídeos favoritos de un usuario pueden verlos también otros usuarios de YouTube.

  • Para solicitar un feed de los vídeos favoritos del usuario conectado actualmente, envía una solicitud GET HTTP a la URL que aparece a continuación. Nota: Para realizar esta solicitud, deberás incluir un token de autenticación en el encabezado de la solicitud HTTP Authorization. El token de autenticación permite que YouTube identifique al usuario.

    http://gdata.youtube.com/feeds/api/users/default/favorites

  • Para solicitar un feed de los vídeos favoritos de otro usuario, envía una solicitud GET HTTP a la URL que aparece a continuación. Ten en cuenta que esta solicitud no requiere autenticación.

    http://gdata.youtube.com/feeds/api/users/username/favorites

    Debes sustituir el texto username de la URL anterior por el nombre de usuario de YouTube del usuario en cuestión.

El feed de vídeos favoritos devuelve un máximo de 50 entradas. Te recomendamos que apliques una paginación al feed mediante los parámetros de consulta start-index y max-results para optimizar la latencia y el tamaño de la respuesta. El valor recomendado para max-results es 10, valor que genera una respuesta con unos 60 KB de datos.

Playlist feed

Un feed de lista de reproducción contiene información sobre un máximo de 200 vídeos que se pueden ver uno tras otro. Un usuario puede ver y editar su lista de listas de reproducción en la página de su cuenta. Las listas de reproducción de un usuario pueden verlas también otros usuarios de YouTube. Además, los usuarios pueden modificar listas de reproducción específicas añadiendo vídeos a esas listas de reproducción o eliminando vídeos de ellas.

Una lista de reproducción puede ser pública o privada. El API permite recuperar listas de reproducción públicas con o sin autenticación. Sin embargo, sólo podrás recuperar una lista de reproducción privada de un usuario que esté debidamente autenticado y autorizado para ver esa lista de reproducción.

Antes de recuperar un feed de lista de reproducción, es probable que recuperes primero un feed de las listas de reproducción de un usuario, que contendrá una lista de las listas de reproducción creadas por ese usuario. Cada una de las entradas del feed de listas de reproducción del usuario definirá una sola lista de reproducción. (Por otra parte, un feed de lista de reproducción describe los vídeos incluidos en una sola lista de reproducción.) Cada una de las entradas del feed de listas de reproducción del usuario contendrá una etiqueta <gd:feedLink> que identificará la URL que permite recuperar el feed de esa lista de reproducción.

<gd:feedLink rel=’http://gdata.youtube.com/schemas/2007#playlist&#8217;

href=’http://gdata.youtube.com/feeds/api/playlists/PLAYLIST_ID‘/>

Nota: en lugar del término PLAYLIST_ID, la URL real contendrá una ID que representará la identificación exclusiva de la lista de reproducción.

Feed de listas de reproducción del usuario

El feed de listas de reproducción de un usuario contiene una lista de las listas de reproducción creadas por ese usuario. Si solicitas el feed de listas de reproducción del usuario autenticado actualmente, ese feed contendrá listas de reproducción tanto públicas como privadas. Sin embargo, si envías una solicitud sin autenticar o solicitas listas de reproducción creadas por un usuario que no sea el usuario actualmente autenticado, el feed sólo contendrá listas de reproducción públicas.

En un feed de listas de reproducción, cada entrada (entry) contiene información sobre una lista de reproducción, entre la que se incluye el título, la descripción y el autor de la lista de reproducción. La etiqueta <gd:feedLink> de la entrada identifica la URL que permite recuperar el feed de lista de reproducción, que incluye información sobre los vídeos de esa lista de reproducción.

  • Para solicitar un feed de las listas de reproducción del usuario conectado actualmente, envía una solicitud GET HTTP a la URL que aparece a continuación. Nota: Para realizar esta solicitud, deberás incluir un token de autenticación en el encabezado de la solicitud HTTP Authorization. El token de autenticación permite que YouTube identifique al usuario.

    http://gdata.youtube.com/feeds/api/users/default/playlists

  • Para solicitar un feed de las listas de reproducción de otro usuario, envía una solicitud GET HTTP a la URL que aparece a continuación. Ten en cuenta que esta solicitud no requiere autenticación.

    http://gdata.youtube.com/feeds/api/users/username/playlists

    Debes sustituir el texto username de la URL anterior por el nombre de usuario de YouTube del usuario en cuestión.

Feed de suscripciones del usuario

El feed de suscripciones de un usuario contiene una lista de los canales, los vídeos favoritos y las consultas a las que está suscrito ese usuario.

  • Para solicitar un feed de las suscripciones del usuario conectado actualmente, envía una solicitud GET HTTP a la URL que aparece a continuación. Nota: Para realizar esta solicitud, deberás incluir un token de autenticación en el encabezado de la solicitud HTTP Authorization. El token de autenticación permite que YouTube identifique al usuario.

    http://gdata.youtube.com/feeds/api/users/default/subscriptions

  • Para solicitar un feed de las suscripciones de otro usuario, envía una solicitud GET HTTP a la URL que aparece a continuación. Ten en cuenta que esta solicitud no requiere autenticación.

    http://gdata.youtube.com/feeds/api/users/username/subscriptions

    Debes sustituir el texto username de la URL anterior por el nombre de usuario de YouTube del usuario en cuestión.

En un feed de suscripciones, cada entrada (entry) contiene información sobre una suscripción. Cada entrada contiene las siguientes etiquetas de clave:

  • La etiqueta <gd:feedLink> de la entrada identifica la URL que permite recuperar los vídeos de la suscripción.
  • El valor del atributo scheme de una de las etiquetas <category> de la entrada será http://gdata.youtube.com/schemas/2007/subscriptiontypes.cat. El atributo term de esa etiqueta indica si la entrada describe una suscripción a un canal (term=”channel”), a la lista de vídeos favoritos de otro usuario (term=”favorites”) o a los vídeos que coincidan con determinadas palabras clave (term=”query”).
  • Si se trata de una suscripción al canal o a la lista de vídeos favoritos de otro usuario, la etiqueta <yt:username> identificará al usuario al que pertenezca el canal o la lista de vídeos favoritos.

    Si se trata de una suscripción a consultas por palabra clave, el elemento <yt:queryString> contendrá el término de consulta objeto de la suscripción.

Feed de comentarios sobre vídeos

Cada entrada de vídeo contiene una etiqueta <gd:comments>, que incluye la URL a la que se enviarán las solicitudes del API que se deberán recuperar o añadir a la lista de comentarios del vídeo. El ejemplo de XML que aparece a continuación permite comprobar cómo aparecerá esta URL en un feed de vídeos:

<feed>

<entry>


<media:group>


</media:group>

<gd:comments>

<gd:feedLink href=’http://gdata.youtube.com/feeds/api/videos/VIDEO_ID/comments‘/>

</gd:comments>

</entry>

</feed>

Cada entrada del feed de comentarios contiene información sobre un comentario. Cada comentario tiene un autor, un título y un contenido.

Entrada de perfil de usuario

Un perfil de usuario contiene la información que ese usuario ha incluido en su página de perfil de YouTube.

Nota: Aunque muchas respuestas del API contienen información sobre el feed de respuestas y una lista de entradas, la solicitud de recuperación de un perfil sólo contiene una entrada. De ahí que la etiqueta raíz de la respuesta del API correspondiente a esta solicitud sea <entry>.

Feed de contactos del usuario

El feed de contactos de un usuario incluye todos los contactos del usuario especificado.

  • Para solicitar la lista de contactos del usuario conectado actualmente, envía una solicitud GET HTTP a la URL que aparece a continuación. Nota: Para realizar esta solicitud, deberás incluir un token de autenticación en el encabezado de la solicitud HTTP Authorization. El token de autenticación permite que YouTube identifique al usuario.

    http://gdata.youtube.com/feeds/api/users/default/contacts

  • Para solicitar la lista de contactos de otro usuario, envía una solicitud GET HTTP a la URL que aparece a continuación. Ten en cuenta que esta solicitud no requiere autenticación.

    http://gdata.youtube.com/feeds/api/users/username/contacts

    Debes sustituir el texto username de la URL anterior por el nombre de usuario de YouTube del usuario en cuestión.

Los contactos se pueden clasificar como amigos (Friends) o familiares (Family).

Desplazamiento por los feeds

Cada entrada y feed utiliza etiquetas <link rel=”relationshipID”> y elementos <gd:feedLink rel=”relationshipID”> que contienen enlaces a entradas o feeds relacionados. Por lo general, una etiqueta <link> identifica una relación entre feeds relacionados, pero no anidados. Por otra parte, una etiqueta <gd:feedLink> identifica a un feed que podría estar anidado con la respuesta original de no ser porque ese anidamiento provocaría un aumento excesivo del tamaño del feed.

Estas etiquetas identifican URL que te permitirán implementar funciones de API sin codificar URL en tu aplicación. Por ejemplo, el siguiente elemento <link>, que podría aparecer en una entrada de vídeo, proporciona un enlace a un feed que contiene respuestas en vídeo para esa entrada.

<link rel=”http://gdata.youtube.com/schemas/2007#video.responses&#8221;

type=”application/atom+xml”

href=”http://gdata.youtube.com/feeds/api/videos/UwOA8H5Vaak/responses”/&gt;

Del mismo modo, el siguiente elemento <gd:feedLink> podría aparecer en una entrada de perfil de usuario. Esta etiqueta identifica la URL que permitiría recuperar un feed de los contactos de ese usuario.

<gd:feedLink

rel=”http://gdata.youtube.com/schemas/2007#user.contacts&#8221;

href=”http://gdata.youtube.com/feeds/api/users/liz/contacts”/&gt;

En los casos de uso incluidos en la Guía del desarrollador se explica la forma de desplazarse entre los distintos feeds. Además, el siguiente diagrama muestra las interconexiones existentes entre los feeds del API de datos de YouTube. Las flechas continuas designan elementos <link> y las flechas discontinuas designan elementos <gd:feedLink>. Las flechas azules designan enlaces <link rel=”related”>. Una entrada de suscripción puede contener una etiqueta <gd:feedLink> que apunte a un determinado tipo de feed según el tipo de suscripción que describa esa entrada.

El último término de cada círculo representa el tipo de entradas de Google Data de un feed determinado. Por ejemplo, un feed de suscripciones contendrá entradas del tipo “suscription” y un feed de vídeos contendrá entradas del tipo “video”.


Códigos de respuesta HTTP para solicitudes del API de datos de YouTube

En esta sección se explican los códigos de respuesta HTTP que devuelve YouTube para distintos tipos de solicitudes del API.

Recuperación de feeds

  • Un código de respuesta 200 indica que YouTube ha procesado correctamente una solicitud GET HTTP de recuperación de un feed.
  • Un código de respuesta 400 identifica una solicitud errónea. Por ejemplo, recibirás un código de respuesta 400 si envías una solicitud a una URL incorrecta o incluyes en la solicitud un parámetro no admitido o inexistente. En el contenido de la respuesta del API se explicará el motivo por el que el API ha devuelto un código de respuesta 400.

Subida de un vídeo

  • Subida basada en navegador
    • 200: El API devuelve un código de respuesta 200 si subes correctamente los metadatos de un vídeo. En la sección Subida de metadatos de vídeos de la guía del desarrollador se explica este proceso de forma más detallada.
    • 301: Si el usuario sube un archivo de vídeo directamente a YouTube a través del formulario de tu sitio, YouTube enviará un mensaje de redirección 301 al navegador del usuario, que hará que el navegador solicite y cargue la URL que hayas especificado mediante el parámetro nexturl en el formulario de subida. (Consigue más información sobre el formulario de subida.) YouTube añadirá a esa URL las variables indicadas a continuación, que tendrás que extraer para ofrecer un servicio adecuado al usuario.
      • id: Este parámetro de solicitud identifica la ID de vídeo de un vídeo que se acaba de crear.
      • status: Este parámetro de solicitud indica si el usuario ha subido correctamente el vídeo. El valor será 200 si el vídeo se ha subido correctamente, y 4xx o 5xx (por ej., 400, 403, 503, etc.) en caso contrario.
      • code: Este parámetro de solicitud ofrece información adicional referente a los motivos por los que no se ha subido un vídeo correctamente. Entre los posibles valores de este parámetro se encuentran “INVALID_TOKEN”, “MISSING_TOKEN”, “DUPLICATE”, “TOKEN_EXPIRED” y “FILE_MISSING”.
  • Subida directa
    • 201: El API devuelve un código de respuesta 201 si el vídeo se sube correctamente.
    • 400 (Solicitud errónea): Un código de respuesta 400 indica que la solicitud no tenía un formato correcto o contenía datos no válidos. Por ejemplo, el API devolverá un código de respuesta 400 si tu solicitud contiene XML de formato incorrecto o si intentas enviar palabras clave que incluyan caracteres no válidos.

Adición de información con POST HTTP

El API devuelve los códigos de respuesta indicados a continuación para las solicitudes de adición de recursos, tales como puntuaciones, comentarios, respuestas en vídeo, reclamaciones, vídeos favoritos, listas de reproducción, entradas de listas de reproducción, suscripciones y contactos.

  • 201 (Creado): Un código de respuesta 201 indica que se ha procesado correctamente una solicitud POST HTTP de adición de una puntuación, un comentario, una reclamación, una respuesta en vídeo, una suscripción, una lista de reproducción o un contacto.
  • 400 (Solicitud errónea): Un código de respuesta 400 indica que la solicitud no tenía un formato correcto o contenía datos no válidos. Por ejemplo, el API devolverá un código de respuesta 400 si tu solicitud contiene XML de formato incorrecto o si intentas enviar una puntuación de “16” para un vídeo, cuando la puntuación debe estar comprendida entre 1 y 5. En el contenido de la respuesta del API se explicará el motivo por el que el API ha devuelto un código de respuesta 400.

Actualización de información con PUT HTTP

El API devuelve los códigos de respuesta indicados a continuación para las solicitudes de actualización de recursos, tales como vídeos, listas de reproducción, entradas de listas de reproducción y contactos.

  • 200 (Correcto): Un código de respuesta 200 indica que YouTube ha procesado correctamente una solicitud PUT HTTP de actualización de un recurso.
  • 400 (Solicitud errónea): Un código de respuesta 400 indica que la solicitud no tenía un formato correcto o contenía datos no válidos. En el contenido de la respuesta del API se explicará el motivo por el que el API ha devuelto un código de respuesta 400.

Eliminación de recursos con DELETE HTTP

El API devuelve los códigos de respuesta indicados a continuación para las solicitudes de eliminación de recursos, tales como vídeos, respuestas en vídeo, vídeos favoritos, listas de reproducción, entradas de listas de reproducción, suscripciones y contactos.

  • 200 (Correcto): Un código de respuesta 200 indica que YouTube ha procesado correctamente una solicitud DELETE HTTP de eliminación de un recurso.
  • 401 (Sin autorización): Un código de respuesta 401 indica que una solicitud no contenía un encabezado Authorization, que el formato del encabezado Authorization no era válido o que el token de autenticación proporcionado en el encabezado no era válido.
  • 403 (Prohibido): Un código de respuesta 403 indica que se ha enviado una solicitud que no estaba correctamente autenticada para la operación solicitada.
  • 404 (No encontrado): Un código de respuesta 404 indica que se ha intentado modificar un recurso inexistente. Por ejemplo, recibirás un código de respuesta 404 si intentas eliminar una suscripción, pero has especificado una URL incorrecta para esa suscripción.

Códigos de respuesta adicionales para solicitudes incorrectas

El API puede devolver también los siguientes códigos de respuesta:

  • 401 (Sin autorización): Un código de respuesta 401 indica que una solicitud no contenía un encabezado Authorization, que el formato del encabezado Authorization no era válido o que el token de autenticación proporcionado en el encabezado no era válido.
  • 403 (Prohibido): Un código de respuesta 403 indica que se ha enviado una solicitud que no estaba correctamente autenticada para la operación solicitada.
  • 500 (Error interno): Un código de respuesta 500 indica que YouTube ha experimentado un error al procesar una solicitud. Puedes probar a enviar de nuevo la solicitud más adelante.
  • 501 (Sin implementar): Un código de respuesta 501 indica que se ha intentado ejecutar una operación no admitida como, por ejemplo, recuperar una lista de puntuaciones o actualizar una reclamación.
  • 503 (Servicio no disponible): Un código de respuesta 503 indica que no se ha podido acceder al API de datos de YouTube. Puedes probar a enviar de nuevo la solicitud más adelante.

Búsqueda de vídeos

Para buscar vídeos, envía una solicitud GET HTTP a la siguiente URL, añadiendo los parámetros de consulta apropiados a tu solicitud:

http://gdata.youtube.com/feeds/api/videos

Por ejemplo, una solicitud enviada a la siguiente URL buscará el segundo conjunto de los 10 vídeos subidos recientemente que coincidan con el término de consulta “football”, pero no con “soccer”:

http://gdata.youtube.com/feeds/api/videos?

vq=football+-soccer

&orderby=published

&start-index=11

&max-results=10

Definiciones de parámetros de consulta

Standard Google Data API parameters

El API de datos de YouTube admite los siguientes parámetros de consulta de Google Data estándar.

Nombre

Definición

alt

El parámetro alt especifica el formato del feed que se va a devolver. Los valores válidos de este parámetro son atom, rss y json. El valor predeterminado es atom (en este documento sólo se explica el formato de las respuestas Atom).

author

El parámetro author restringe la búsqueda a los vídeos subidos por un determinado usuario de YouTube. En la sección sobre vídeos subidos por un usuario específico se explica este parámetro de forma más detallada.

max-results

El parámetro max-results especifica el número máximo de resultados que se deben incluir en el conjunto de resultados. Este parámetro funciona junto con el parámetro start-index para determinar los resultados que se deben devolver. Por ejemplo, para solicitar el segundo conjunto de 10 resultados (es decir, los resultados 11 a 20), deberás establecer el parámetro max-results en 10 y el parámetro start-index en 11. El valor predeterminado de este parámetro para todas las API de datos de Google es 25 y el valor máximo es 50. Sin embargo, para mostrar listas de vídeos, te recomendamos que establezcas el parámetro max-results en 10.

start-index

El parámetro start-index permite especificar el índice del primer resultado coincidente que se deberá incluir en el conjunto de resultados. Este parámetro utiliza un índice de base 1, lo que significa que el primer resultado es 1, el segundo es 2 y así sucesivamente. Este parámetro trabaja en combinación con el parámetro max-results para determinar qué resultados se devolverán. Por ejemplo, para solicitar el segundo conjunto de 10 resultados (es decir, los resultados 11 a 20), deberás establecer el parámetro start-index en 11 y el parámetro max-results en 10.

Consulta la referencia del protocolo de las API de datos de Google para obtener más información sobre funciones estándar del API de datos de Google o sobre estos parámetros específicos.

Custom parameters for the YouTube Data API

Además de los parámetros de consulta de Google Data, el API de datos de YouTube define los siguientes parámetros de consulta específicos del API. Estos parámetros sólo están disponibles en feeds de listas de reproducción y vídeos.

Nombre

Definición

vq

El parámetro vq especifica un término de consulta para una búsqueda. YouTube buscará todos los metadatos de los vídeos que coincidan con el término. Los metadatos de los vídeos incluyen títulos, palabras clave, descripciones, nombres de usuario de los autores y categorías.

Ten en cuenta que a todos los espacios, las comillas y otros signos de puntuación del valor del parámetro se les debe aplicar un formato de escape URL.

Para buscar una frase exacta, escriba la frase entre comillas dobles. Por ejemplo, para buscar vídeos que coincidan con la frase “spy plane”, establece el parámetro vq en %22spy+plane%22.

Tu solicitud puede utilizar los operadores booleanos NOT (-) y OR (|) para excluir vídeos o buscar vídeos asociados a uno de los distintos términos de búsqueda. Por ejemplo, para buscar vídeos que coincidan con “boating” o “sailing”, establece el parámetro vq en boating%7Csailing. (Ten en cuenta que se debe aplicar un formato de escape URL al carácter de barra vertical.) De forma similar, para buscar vídeos que coincidan con “boating” o “sailing” pero no con “fishing”, establece el parámetro vq en “boating&7Csailing+-fishing”.

orderby

El parámetro orderby permite especificar el valor que se utilizará para ordenar vídeos en el conjunto de resultados de la búsqueda. Los valores válidos de este parámetro son relevance, published, viewCount y rating. Además, puedes solicitar los resultados más relevantes para un idioma en particular estableciendo el valor de parámetro en relevance_lang_languageCode, donde languageCode es un código de idioma de dos letras ISO 639-1. (Utiliza los valores zh-Hans para chino simplificado y zh-Hant para chino tradicional.) Además, ten en cuenta que los resultados en otros idiomas se obtendrán si presentan un alto nivel de relevancia con el término de consulta de la búsqueda.

El valor predeterminado de este parámetro es relevance para un feed de resultados de búsqueda. Para un feed de lista de reproducción, el orden predeterminado se basa en la posición de cada vídeo en la lista de reproducción. En el caso de un feed de listas de reproducción o suscripciones de un usuario, el orden predeterminado es arbitrario.

format

El parámetro format permite especificar en qué formato deben estar disponibles los vídeos. Tu solicitud podrá especificar cualquiera de los formatos siguientes:

Valor

Formato de vídeo

1

URL de transmisión RTSP para la reproducción de vídeos de dispositivos móviles. Vídeo H.263 (hasta 176×144) y audio AMR.

5

URL HTTP en el reproductor Flash (SWF) insertable de este vídeo. Este formato no está disponible para los vídeos que no se pueden insertar. Los desarrolladores añaden con frecuencia &format=5 a sus consultas para restringir los resultados a los vídeos que se pueden insertar en sus sitios.

6

URL de transmisión RTSP para la reproducción de vídeos de dispositivos móviles. Vídeo MPEG-4 SP (hasta 176×144) y audio AAC.

lr

El parámetro lr permite restringir la búsqueda de vídeos que tengan el título, la descripción o las palabras clave en un idioma específico. Los valores válidos del parámetro lr son códigos de idioma de dos letras ISO 639-1. También puedes utilizar los valores zh-Hans para chino simplificado y zh-Hant para chino tradicional. Este parámetro también se puede utilizar para solicitar cualquier feed de vídeos que no sea un feed estándar.

racy

El parámetro racy permite incluir contenido restringido y contenido estándar en el conjunto de resultados de una búsqueda. Los valores válidos de este parámetro son include y exclude. De forma predeterminada, se excluye el contenido restringido. Las entradas de feeds de los vídeos que incluyen contenido restringido presentan un elemento <yt:racy> adicional.

restriction

El parámetro restriction identifica la dirección IP que se debe utilizar para filtrar vídeos que sólo se pueden reproducir en países específicos. De forma predeterminada, el API excluye los vídeos que no se pueden reproducir en el país desde el que se envían las solicitudes del API. Esta restricción se basa en la dirección IP de la aplicación del cliente.

Para solicitar vídeos reproducibles desde un equipo específico, incluye el parámetro “restriction” en tu solicitud y establece como valor del parámetro la dirección IP del equipo en el que se reproducirán los vídeos, por ejemplo restriction=255.255.255.255.

Para solicitar vídeos reproducibles desde un país específico, incluye el parámetro “restriction” en tu solicitud y establece como valor del parámetro el código de país de dos letras ISO 3166 del país en el que se reproducirán los vídeos, por ejemplo restriction=DE.

time

El parámetro time, que sólo está disponible para los feeds estándar top_rated, top_favorites, most_viewed, most_discussed, most_linked y most_responded, restringe la búsqueda para vídeos subidos dentro del período de tiempo especificado. Los valores válidos de este parámetro son today (1 día), this_week (7 días), this_month (1 mes) y all_time. El valor predeterminado de este parámetro es all_time.

Búsquedas por categoría en feeds de vídeos

Los vídeos de YouTube se pueden clasificar de dos formas:

Utiliza la siguiente URL para recuperar vídeos de una categoría específica o etiquetados con una etiqueta de desarrollador o palabra clave específica:

http://gdata.youtube.com/feeds/api/videos/-/category_or_tag

El guión (-) de la URL es una notación del API de datos de Google estándar que indica que el resto de la URL se compone de una serie de una o varias etiquetas. Las siguientes directrices proporcionan más detalles sobre la solicitud de vídeos asociados a etiquetas o categorías específicas:

Definiciones de elementos XML

El API de datos de YouTube utiliza etiquetas de diversos esquemas XML. En la siguiente tabla aparecen los distintos esquemas que el API utiliza, el prefijo de espacio de nombre asociado a cada esquema y la URL de espacio de nombre de cada esquema.

Esquema

Prefijo de espacio de nombre

URL de esquema

Formato de sindicación Atom

[Ninguno] – es el espacio de nombre predeterminado

http://www.w3.org/2005/Atom

Esquema de OpenSearch

openSearch

http://a9.com/-/spec/opensearchrss/1.0/

Media RSS

media

http://search.yahoo.com/mrss/

Esquema XML de YouTube

yt

http://gdata.youtube.com/schemas/2007

Esquema de datos de Google

gd

http://schemas.google.com/g/2005

GeoRSS

georss

http://www.georss.org/georss

Lenguaje de marcado geográfico

gml

http://www.opengis.net/gml

Atom Publishing Protocol

app

http://www.w3.org/2007/app

En las tablas que aparecen a continuación se definen las etiquetas XML de cada uno de estos esquemas que aparecen en las solicitudes y respuestas del API. Cada tabla contiene la definición de una única etiqueta, y las etiquetas aparecen en orden alfabético según el esquema.

Junto a algunas etiquetas secundarias de las definiciones que se muestran a continuación pueden aparecer determinados símbolos. Estos símbolos y sus significados son los siguientes:

? = etiqueta secundaria opcional
* = cero o más instancias de la etiqueta secundaria
+ = una o varias instancias de la etiqueta secundaria

Referencia de elementos de Atom
 
Referencia de elementos de OpenSearch
 
Referencia de elementos de YouTube
 
Referencia de elementos de Media RSS
 
Referencia de elementos de Google Data
 
Referencia de elementos de GeoRSS
 
Referencia de elementos de GML
 
Referencia de elementos de Atom Publishing Protocol
 
Referencia de elementos de respuesta del API de subidas basadas en navegador
 
Referencia de elementos de respuesta a errores
 

Referencia de elementos de Atom

author

La etiqueta <author> contiene información sobre el usuario de YouTube a quien pertenece una parte de contenido de vídeo, una suscripción, una lista de vídeos favoritos, un contacto u otra entidad.

Ejemplo

<author>

Secundaria de

feed, entry

Secundarias

name, uri

category

La etiqueta <category> especifica la categoría a la que pertenece la entrada.

  • Cuando la etiqueta <category> aparece como una subetiqueta de <feed> o <entry>, la etiqueta puede identificar el tipo de elemento descrito en cada entrada de feed. El valor del atributo scheme es http://schemas.google.com/g/2005#kind y el valor del atributo term indica si las entradas de feeds describen vídeos, enlaces de listas de reproducción, suscripciones, contactos u otro tipo de entidad.
  • Cuando la etiqueta <category> aparece como una subetiqueta de <entry> y la entrada describe un vídeo, la etiqueta también puede especificar una palabra clave concreta o una categoría asociada a dicho vídeo. En este caso, el atributo scheme indica si el valor de atributo term hace referencia a una palabra clave o a una categoría.

La etiqueta <category> es obligatoria en las solicitudes para añadir una suscripción o para añadir o actualizar un contacto:

  • En una solicitud de adición de una suscripción, la etiqueta <category> indica si el usuario se va a suscribir a un canal, a la lista de favoritos de otro usuario o a una etiqueta de palabra clave:
    • Si el usuario se va a suscribir a un canal, el valor del atributo term de la etiqueta <category> debe ser channel.
    • Si el usuario se va a suscribir a la lista de favoritos de otro usuario, el valor del atributo term de la etiqueta <category> debe ser favorites.
    • Si el usuario se va a suscribir a una etiqueta de palabra clave, el valor del atributo term de la etiqueta <category> debe ser query.
  • En una solicitud de adición o actualización de un contacto, la etiqueta indica si el contacto es un amigo o un familiar.
    • Si el contacto es un familiar, el valor del atributo term de la etiqueta <category> debe ser Family.
    • Si el contacto es un amigo, el valor del atributo term de la etiqueta <category> debe ser Friends.

Atributos

Nombre

Formato

Descripción

scheme

Complejo

El atributo scheme especifica un identificador uniforme de recursos (URI) que identifica el esquema de categorización asociado a la etiqueta.

term

Complejo

El atributo term identifica el tipo de entidad contenida en una entrada de feed, o en una categoría o palabra clave asociada a un vídeo.

  • En una solicitud de adición de una suscripción, el valor del atributo term puede ser channel, favorites o query.
  • En una solicitud de adición de un contacto, el valor del atributo term puede ser Family o Friends.

label

Complejo

El atributo label especifica el nombre de secuencias de escape de la entidad de la categoría de YouTube a la que pertenece el vídeo. Este atributo sólo se incluye en las etiquetas <category> que hacen referencia a una categoría (y no a un tipo de entidad ni palabra clave).

Ejemplo

<category scheme=’http://gdata.youtube.com/schemas/2007/subscriptiontypes.cat&#8217; term=’channel’/>

Secundaria de

feed, entry

content

La etiqueta <content> contiene el texto de un comentario o una descripción de un vídeo o una lista de reproducción. Si la etiqueta <content> aparece en una entrada de vídeo o de lista de reproducción, puede contener la misma descripción que aparece en la etiqueta <media:description>.

La etiqueta <content> es obligatoria en una solicitud de adición de un comentario.

Ejemplo

<content type=”text”>Video comments are cool.</content>

Secundaria de

entry

entry

La etiqueta <entry> incluye información sobre un vídeo, una lista de reproducción, una suscripción, un contacto u otra entidad. La etiqueta <entry> es la etiqueta raíz de todas las solicitudes del API de datos de YouTube para añadir (POST) o actualizar (PUT) datos.

Ejemplo

<entry>

Secundaria de

feed

Secundarias

En una entrada de lista de reproducción o vídeo:
id, published, updated, category*, title?, content?, link*, author?, media:group?, yt:description? (esta etiqueta sólo aparece en una entrada de lista de reproducción), yt:position? (esta etiqueta sólo aparece en una entrada de lista de reproducción), yt:statistics?, gd:comments?, gd:rating?, location?, yt:recorded?, georss:where?, app:control?

En un feed de comentarios:
id, published, updated, category*, title?, content?, link*, author?

En un feed de listas de reproducción:
id, published, updated, category*, title?, content?, link*, author?, yt:description?, gd:feedLink

En un feed de suscripciones:
id, published, updated, category*, title?, content?, link*, author?, yt:username?, yt:queryString?, gd:feedLink

En una entrada de perfil:
id, published, updated, category*, title?, content?, link*, author?, yt:age?, yt:books?, yt:company?, firstName?, yt:gender?, yt:hobbies?, lastName?, yt:location?, yt:movies?, yt:music?, yt:occupation?, yt:school?, yt:username?, yt:statistics?, media:thumbnail?, gd:feedLink*

Adición de vídeos favoritos:
id

Adición y actualización de listas de reproducción:
title, yt:description, yt:private

Adición y actualización de entradas de listas de reproducción:
title, yt:description, yt:position

Adición de suscripciones:
category, yt:username, yt:queryString

Adición y actualización de contactos:
category, yt:username

Adición de comentarios:
content

Adición de respuestas en vídeo:
id

Adición de puntuaciones:
gd:rating

Adición de reclamaciones:
yt:description

feed

La etiqueta <feed> es la etiqueta raíz de varios tipos de feeds del API de datos de YouTube, incluidos los feeds de vídeos, feeds de suscripciones, feeds de listas de reproducción, feeds de vídeos favoritos y feeds de contactos. Un feed contiene una serie de elementos <entry>. Cada elemento contiene información sobre un vídeo, una lista de reproducción, una suscripción u otra entidad individual.

Ejemplo

<feed xmlns=’http://www.w3.org/2005/Atom&#8217; xmlns:openSearch=’http://a9.com/-/spec/opensearchrss/1.0/&#8217; xmlns:media=’http://search.yahoo.com/mrss/&#8217; xmlns:yt=’http://gdata.youtube.com/schemas/2007&#8242; xmlns:gd=’http://schemas.google.com/g/2005′&gt;

Secundarias

id, updated, category*, title, logo?, link*, author?, generator, openSearch:itemsPerPage?, openSearch:startIndex?, openSearch:totalResults?, entry+

generator

La etiqueta <generator> identifica el software utilizado para crear el feed. Esta información se debe utilizar con fines de depuración.

Atributos

Nombre

Formato

Descripción

version

Complejo

El atributo version especifica la versión del software utilizada para generar el feed.

uri

Complejo

El atributo uri especifica un identificador uniforme de recursos (URI) relacionado con el software de generación del feed.

Ejemplo

<generator version=’beta’ uri=’http://gdata.youtube.com/’>YouTube data API</generator>

Secundaria de

feed

id

La etiqueta <id> especifica un identificador uniforme de recursos (URI) que identifica de forma permanente y exclusiva una entrada de vídeo o feed.

Ejemplo

<id>http://gdata.youtube.com/feeds/api/users/andyland74/subscriptions/5c56f45db338111c</id>

Secundaria de

feed, entry

link

La etiqueta <link> contiene una referencia IRI relevante para una entrada de feed o un feed.

Atributos

Nombre

Formato

Descripción

rel

Complejo

El atributo rel indica la forma en que el identificador uniforme de recursos (URI) especificado en el atributo href está relacionado con el conjunto de resultados actual:

  • Si el valor del atributo rel es self, el enlace identificará la URL que se deberá utilizar para recuperar información sobre el feed o sobre una entrada concreta del feed.
  • Si el valor del atributo rel es edit, el enlace identificará la URL que se deberá utilizar para modificar una entrada de feed.
  • Si el valor del atributo rel es alternate, el enlace identificará una URL que mostrará una presentación distinta del feed como, por ejemplo, un enlace a la representación HTML de dicha entrada de feed.
  • Si el valor del atributo rel es prev, el enlace apuntará a la página anterior del conjunto de resultados del feed.
  • Si el valor del atributo rel es next, el enlace apuntará a la página siguiente del conjunto de resultados del feed.
  • Si el valor del atributo rel es related, el enlace identificará otro feed relacionado con el feed actual. Por ejemplo, si el feed contiene una lista de entradas de contacto, el enlace relacionado de un contacto deberá apuntar al feed del perfil de dicho contacto.
  • El atributo rel también puede contener un enlace a un esquema que identifique el tipo de entidad relacionada con el enlace correspondiente. Por ejemplo, una entrada de vídeo contiene etiquetas <link> que apuntan a respuestas, puntuaciones, reclamaciones y vídeos relacionados con dicho vídeo. Algunas de esas etiquetas <link> se pueden utilizar para recuperar feeds adicionales como, por ejemplo, vídeos relacionados y respuestas en vídeo, mientras que otras se pueden utilizar para publicar datos como, por ejemplo, una puntuación o una reclamación.

type

Complejo

El atributo type especifica el tipo de medio del recurso de la URL asociada. Los enlaces de una respuesta del API de datos de YouTube suelen hacer referencia a una página HTML u otra respuesta del API (feed de Atom). Por ello, los valores más comunes del atributo type son text/html y application/atom+xml.

href

Complejo

El atributo href especifica un identificador uniforme de recursos (URI) que identifica el recurso identificado en la etiqueta <link>.

Ejemplo

<link rel=’http://gdata.youtube.com/schemas/2007#video.related&#8217; type=’application/atom+xml’ href=’http://gdata.youtube.com/feeds/api/videos/AlPqL7IUT6M/related’/&gt;

Secundaria de

feed, entry

logo

La etiqueta <logo> especifica una imagen que proporciona información visual al feed. El logotipo de un feed del API de datos de YouTube es el logotipo de YouTube.

Ejemplo

<logo>http://www.youtube.com/img/pic_youtubelogo_123x63.gif</logo&gt;

Secundaria de

feed

name

La etiqueta <name> contiene el nombre de usuario de YouTube del autor.

Ejemplo

<name>andyland74</name>

Secundaria de

author

published

La etiqueta <published> especifica la hora de creación de una entrada de feed.

Ejemplo

<published>2007-10-15T15:39:34.000-07:00</published>

Secundaria de

entry

title

La etiqueta <title> proporciona un título legible para un feed o una entrada de un feed. Esta etiqueta también es obligatoria para añadir listas de reproducción y es opcional para añadir o actualizar entradas de listas de reproducción.

  • En una solicitud de adición o actualización de una lista de reproducción, la etiqueta <title> especifica el título de la lista de reproducción.
  • En una solicitud de adición o actualización de una entrada de lista de reproducción, la etiqueta <title> especifica el título personalizado que el usuario desea mostrar en la lista de reproducción en lugar del título real del vídeo. Si el usuario no proporciona un título personalizado, YouTube mostrará el título real del vídeo en la lista de reproducción.

Ejemplo

<title type=’text’>andyland74’s Subscriptions</title>

Secundaria de

feed, entry

updated

La etiqueta <updated> especifica la hora de la última actualización de un feed o una entrada de feed.

Ejemplo

<updated>2007-10-15T15:39:34.000-07:00</updated>

Secundaria de

feed, entry

uri

La etiqueta <uri> contiene una URL relacionada con elauthor.

Ejemplo

<uri>http://gdata.youtube.com/feeds/api/users/andyland74</uri&gt;

Secundaria de

author

Referencia de elementos de OpenSearch

openSearch:itemsPerPage

La etiqueta <openSearch:itemsPerPage> indica cuántas entradas aparecen en una respuesta del API.

Ejemplo

<openSearch:itemsPerPage>25</openSearch:itemsPerPage>

Secundaria de

feed

openSearch:startIndex

La etiqueta <openSearch:startIndex> identifica el índice de base 1 del primer elemento devuelto en el feed.

Ejemplo

<openSearch:startIndex>1</openSearch:startIndex>

Secundaria de

feed

openSearch:totalResults

La etiqueta <openSearch:totalResults> identifica el número de elementos del conjunto de resultados del feed. Ten en cuenta que este valor es una aproximación y que es posible que no represente el valor exacto. No debes utilizar este valor para crear enlaces de paginación. Utiliza las etiquetas <link rel=”next”> y <link rel=”prev”> para determinar si deseas mostrar enlaces de paginación o no:

<link rel=”next” type=”application/atom+xml” href=”http://gdata.youtube.com/feeds/videos?start-index=26&max-results=25″/&gt;

Si el feed contiene una etiqueta <link> cuyo valor de atributo rel es next, aparecerá otra página de resultados. Si no, la página actual será la última del conjunto de resultados. Del mismo modo, si el feed contiene una etiqueta <link> cuyo valor de atributo rel es prev, aparecerá una página anterior de resultados. Si no, la página actual será la primera del conjunto de resultados.

Ejemplo

<openSearch:totalResults>36</openSearch:totalResults>

Secundaria de

feed

Referencia de elementos de YouTube

yt:age

La etiqueta <yt:age> especifica la edad del usuario, que se calcula en función de la fecha de nacimiento proporcionada en el perfil de YouTube del usuario. La etiqueta <yt:age> aparece en el feed de perfil de usuario.

Ejemplo

<yt:age>33</yt:age>

Secundaria de

entry

yt:books

La etiqueta <yt:books> identifica los libros favoritos del usuario introducidos en su perfil público de YouTube.

Ejemplo

<yt:books>Catch-22</yt:books>

Secundaria de

entry

yt:company

La etiqueta <yt:company> identifica la empresa en la que trabaja el usuario introducida por éste en su perfil público de YouTube.

Ejemplo

<yt:company>Google</yt:company>

Secundaria de

entry

yt:description

La etiqueta <yt:description> contiene la descripción introducida por un usuario para una lista de reproducción, una descripción personalizada introducida por un usuario para un vídeo de una lista de reproducción o el texto de una reclamación.

Ejemplo

<yt:description>My new playlist description</yt:description>

Secundaria de

entry

yt:duration

La etiqueta <yt:duration> especifica la duración del vídeo en segundos.

Atributos

Nombre

Formato

Descripción

seconds

Complejo

El atributo seconds indica la duración de un vídeo en segundos.

Ejemplo

<yt:duration seconds=’344’/>

Secundaria de

media:group

yt:firstName

La etiqueta <yt:firstName> especifica el nombre del usuario.

Ejemplo

<yt:firstName>John</yt:firstName>

Secundaria de

entry

yt:gender

La etiqueta <yt:gender> especifica el sexo del usuario introducido en su perfil público de YouTube.

Ejemplo

<yt:gender>m</yt:gender>

Secundaria de

entry

yt:hobbies

La etiqueta <yt:hobbies> identifica las aficiones del usuario introducidas en su perfil público de YouTube.

Ejemplo

<yt:hobbies>Testing YouTube APIs</yt:hobbies>

Secundaria de

entry

yt:hometown

La etiqueta <yt:hometown> identifica la ciudad natal del usuario introducida en su perfil público de YouTube.

Ejemplo

<yt:hometown>Albany, GA</yt:hometown>

Secundaria de

entry

yt:lastName

La etiqueta <yt:lastName> especifica el apellido del usuario.

Ejemplo

<yt:lastName>Smith</yt:lastName>

Secundaria de

entry

yt:location

En una entrada de vídeo, la etiqueta <yt:location> contiene texto descriptivo sobre el lugar del que se ha extraído el vídeo. En una entrada de perfil de usuario, la etiqueta <yt:location> identifica la ubicación geográfica del usuario introducida en su perfil público de YouTube.

Ejemplo

<yt:location>US</yt:location>

Secundaria de

entry

yt:movies

La etiqueta <yt:movies> identifica las películas favoritas del usuario introducidas en su perfil público de YouTube.

Ejemplo

<yt:movies>Aqua Teen Hungerforce</yt:movies>

Secundaria de

entry

yt:music

La etiqueta <yt:music> identifica la música favorita del usuario introducida en su perfil público de YouTube.

Ejemplo

<yt:music>Elliott Smith, the Kooks</yt:music>

Secundaria de

entry

yt:noembed

La etiqueta <yt:noembed> especifica que un vídeo no se puede insertar en otros sitios web. Esta etiqueta se puede incluir en una solicitud de subida o actualización de los metadatos de un vídeo. De forma predeterminada, los vídeos se pueden insertar en otros sitios a menos que sean vídeos privados. Si una solicitud no incluye las etiquetas <yt:noembed> o <yt:private>, el vídeo se podrá insertar en otros sitios web.

Ejemplo

<yt:noembed/>

Secundaria de

entry

yt:occupation

La etiqueta <yt:occupation> identifica el empleo del usuario introducido en su perfil público de YouTube.

Ejemplo

<yt:occupation>Technical writer</yt:occupation>

Secundaria de

entry

yt:position

La etiqueta <yt:position> especifica el orden en el que aparecerá un vídeo en una lista de reproducción.

Ejemplo

<yt:position>4</yt:position>

Secundaria de

entry

yt:private

La etiqueta <yt:private> indica que un vídeo es privado, es decir, que ese vídeo no lo pueden ver todos los usuarios del sitio web de YouTube. Los vídeos privados sólo los pueden ver las personas específicamente elegidas por el propietario de cada vídeo. Esta etiqueta se puede incluir en una solicitud de subida o actualización de los metadatos de un vídeo. La etiqueta no debe especificar ningún valor. La presencia de esa etiqueta indica que el vídeo es privado. La ausencia de la etiqueta indica que todos los usuarios de YouTube podrán ver el vídeo. De forma predeterminada, todos los usuarios de YouTube pueden ver los vídeos. La ausencia de la etiqueta indica que todos los usuarios de YouTube podrán ver el vídeo. (De forma predeterminada, todos los usuarios de YouTube pueden ver los vídeos. Por tanto, para indicar que un vídeo es privado, se debe incluir la etiqueta <yt:private> en todas las solicitudes de subida o actualización del vídeo.)

Ejemplo

<yt:private/>

Secundaria de

media:group

yt:queryString

La etiqueta <yt:queryString> especifica las palabras clave (cadena de consulta) asociadas a una suscripción.

Ejemplo

<yt:queryString>Dog skateboarding</yt:queryString>

Secundaria de

entry

yt:racy

La etiqueta <yt:racy> indica si un vídeo incluye contenido restringido. Si solicitas un feed de vídeos, el feed sólo incluirá contenido restringido si la solicitud del API incluye el parámetro racy.

Ejemplo

<yt:racy/>

Secundaria de

entry

yt:recorded

La etiqueta <yt:recorded> especifica la fecha de grabación de un vídeo.

Ejemplo

<yt:recorded>2003-08-03</yt:recorded>

Secundaria de

entry

yt:relationship

La etiqueta <yt:relationship> indica si el usuario mantiene una relación, según la información que aparece en su perfil público de YouTube.

Ejemplo

<yt:relationship>taken</yt:relationship>

Secundaria de

entry

yt:school

La etiqueta <yt:school> identifica el centro de estudios al que asistió el usuario, según la información que aparece en su perfil público de YouTube.

Ejemplo

<yt:school>University of North Carolina</yt:school>

Secundaria de

entry

yt:state

La etiqueta <yt:state> contiene información que describe el estado de un vídeo. El valor de esta etiqueta y del atributo reasonCode permite conocer los motivos a los que se deben los problemas de subida de los vídeos que no se han podido subir o que se han rechazado tras el proceso de subida.

Atributos

Nombre

Formato

Descripción

name

Complejo

El atributo name identifica el estado de un vídeo no publicado. Los valores válidos de esta etiqueta son processing, rejected y failed.

reasonCode

Complejo

El atributo reasonCode proporciona información sobre los motivos por los que un vídeo no se ha podido subir o se ha rechazado tras el proceso de subida. La etiqueta <yt:state> no incluirá un atributo reasonCode si el valor del atributo name es processing. En la lista que aparece a continuación se identifican posibles valores del atributo reasonCode para los casos en los que un vídeo no se ha podido subir o se ha rechazado.

  • rejected
    • copyright: el vídeo infringe derechos de autor.
    • inappropriate: el vídeo incluye contenido inadecuado.
    • duplicate: el vídeo es una copia de otro vídeo subido a YouTube.
    • termsOfUse: el vídeo infringe las condiciones de uso.
    • suspended: la cuenta asociada al vídeo se ha suspendido.
    • tooLong: el vídeo supera la duración máxima permitida (10 minutos).
    • blocked: el propietario de contenido ha bloqueado el vídeo.
  • failed
    • cantProcess: YouTube no puede convertir el archivo de vídeo.
    • invalidFormat: el formato del archivo de vídeo subido no es válido.
    • unsupportedCodec: no se admite el códec que utiliza el vídeo.
    • empty: el archivo subido está vacío.
    • tooSmall: el archivo subido es demasiado pequeño.

helpUrl

Complejo

El parámetro helpUrl contiene un enlace a una página del Centro de asistencia de YouTube mediante la cual los desarrolladores y los propietarios de los vídeos pueden determinar los motivos por los que un vídeo se ha rechazado o no se ha podido subir.

Ejemplo

<yt:state name=”rejected” reasonCode=”tooLong” helpUrl=”http://www.youtube.com/t/community_guidelines”>Video is too long</yt:state>

Secundaria de

app:control

yt:statistics

La etiqueta <yt:statistics> proporciona datos estadísticos referentes a un vídeo o a un usuario. La etiqueta <yt:statistics> no se incluye en una entrada de vídeo si el valor del atributo viewCount es 0.

Atributos

Nombre

Formato

Descripción

viewCount

Complejo

Si el atributo viewCount hace referencia a una entrada de vídeo, indicará el número de veces que se ha visto ese vídeo. Si el atributo viewCount hace referencia a un perfil de usuario, indicará el número de veces que se ha visto ese perfil de usuario.

videoWatchCount

Complejo

El atributo videoWatchCount indica el número de vídeos que ha visto un usuario en YouTube. El atributo videoWatchCount sólo se incluye si aparece la etiqueta <yt:statistics> en una entrada de perfil de usuario.

subscriberCount

Complejo

El atributo subscriberCount indica el número de usuarios de YouTube que se han suscrito al canal de YouTube de un determinado usuario. El atributo subscriberCount sólo se incluye si aparece la etiqueta <yt:statistics> en una entrada de perfil de usuario.

lastWebAccess

Complejo

El atributo lastWebAccess indica la hora más reciente a la que un determinado usuario ha utilizado YouTube.

favoriteCount

Complejo

El atributo favoriteCount indica el número de usuarios de YouTube que han añadido un vídeo a su lista de vídeos favoritos. El atributo favoriteCount sólo se incluye si aparece la etiqueta <yt:statistics> en una entrada de vídeo.

Ejemplo

<yt:statistics viewCount=’9′ videoWatchCount=’24’ subscriberCount=’1′ lastWebAccess=’2008-02-29T13:09:48.000-08:00’/>

Secundaria de

entry

yt:status

La etiqueta <yt:status> identifica el estado de un contacto. Esta etiqueta sólo aparece si se van a recuperar los contactos del usuario actualmente autenticado. En la siguiente lista se identifican los valores válidos de esta etiqueta:

  • El valor de la etiqueta será accepted si el usuario autenticado y el contacto se han marcado mutuamente como amigos.
  • El valor de la etiqueta será requested si el contacto ha solicitado que se le añada a la lista de contactos del usuario autenticado, pero la solicitud no se ha aceptado (o rechazado) aún.
  • El valor de la etiqueta será pending si el usuario autenticado ha solicitado que se le añada a la lista de contactos del contacto, pero la solicitud no se ha aceptado (o rechazado) aún.

Ejemplo

<yt:status>accepted</yt:status>

Secundaria de

entry

yt:username

La etiqueta <yt:username> especifica un nombre de usuario de YouTube. En un feed de suscripciones o en una solicitud de adición de una suscripción, la etiqueta <yt:username> identifica al propietario de la lista de favoritos o del canal de YouTube correspondiente a la suscripción. En una entrada de perfil, la etiqueta <yt:username> identifica al usuario asociado al perfil. En una entrada de contacto de usuario, la etiqueta <yt:username> identifica al contacto del usuario conectado.

Ejemplo

<yt:username>andyland74</yt:username>

Secundaria de

entry

Referencia de elementos de Media RSS

media:category

La etiqueta <media:category> es una etiqueta de desarrollador o género que describe un recurso de vídeo. En la sección Lista de categorías de los vídeos subidos se identifican distintas categorías de vídeo de YouTube. Puedes asociar una categoría a un vídeo o asignar cada vídeo a una categoría de la lista.

También puedes asociar cada vídeo a una o varias palabras clave o categorías privadas mediante el esquema de categoría http://gdata.youtube.com/schemas/2007/developertags.cat. Consulta la sección Asignación de etiquetas de desarrollador del documento de protocolo para obtener más información sobre las etiquetas de desarrollador.

Atributos

Nombre

Formato

Descripción

label

Complejo

El atributo label especifica el nombre de secuencias de escape de la entidad de la categoría de YouTube a la que pertenece el vídeo.

scheme

Complejo

El atributo scheme especifica un identificador uniforme de recursos (URI) que identifica el esquema de categorización asociado a la etiqueta.

Ejemplo

<media:category label=’Sports’ scheme=’http://gdata.youtube.com/schemas/2007/categories.cat’>Sports</media:category&gt;

Secundaria de

media:group

media:content

La etiqueta <media:content> especifica una URL y otro tipo de información referente a un vídeo.

Atributos

Nombre

Formato

Descripción

url

Complejo

El atributo url especifica la URL del objeto de medio.

type

Complejo

El atributo type especifica el tipo MIME del objeto de medio.

isDefault

Complejo

El atributo isDefault indica si la etiqueta <media:content> correspondiente identifica el recurso de medios predeterminado del grupo de medios. En una respuesta del API de datos de YouTube, el recurso de medios predeterminado es la URL del reproductor insertable (SWF) del vídeo.

expression

Complejo

El atributo expression indica si el objeto de vídeo representa una muestra del vídeo, la versión completa del mismo o una secuencia de vídeo en directo. Los correspondientes (y únicos) valores válidos de este atributo son sample, full y nonstop.

duration

Complejo

La etiqueta duration especifica la duración del vídeo en segundos.

yt:format

Complejo

El atributo yt:format especifica el formato de vídeo del objeto de vídeo descrito por el elemento <media:content>. En la lista que aparece a continuación se identifican los valores válidos de este atributo.

  • 1: URL de transmisión RTSP para reproducción de vídeos de dispositivos móviles. Vídeo H.263 (hasta 176×144) y audio AMR.
  • 5: URL HTTP en el reproductor insertable (SWF) de este vídeo. Este formato no está disponible para los vídeos que no se pueden insertar. Los desarrolladores añaden con frecuencia &format=5 a sus consultas para restringir los resultados a los vídeos que se pueden insertar en sus sitios.
  • 6: URL de transmisión RTSP para reproducción de vídeos de dispositivos móviles. Vídeo MPEG-4 SP (hasta 176×144) y audio AAC.

Ejemplo

<media:content url=’http://www.youtube.com/v/8aYQ_wjmriQ&#8217; type=’application/x-shockwave-flash’ medium=’video’ isDefault=’true’ expression=’full’ duration=’166′ yt:format=’5’/>

Secundaria de

media:group

media:description

La etiqueta <media:description> contiene el resumen o la descripción de un vídeo. Este campo es obligatorio en las solicitudes de subida o actualización de los metadatos de un vídeo. La descripción debe ser una frase, no una lista de palabras clave, y puede aparecer en los resultados de búsqueda. La descripción puede tener una longitud máxima de 5.000 caracteres y puede contener todos los caracteres UTF-8 válidos, excepto < y >.

Atributos

Nombre

Formato

Descripción

type

Complejo

El atributo type especifica el tipo de texto especificado en el valor de la etiqueta. Los feeds de contenido de YouTube requieren el uso de texto sin formato (type=plain).

Ejemplo

<media:description type=”plain”>Granny takes crocheting to the extreme during a rodeo and while surfing.</media:description>

Secundaria de

media:group

media:group

La etiqueta <media:group> incluye metadatos sobre un recurso de vídeo.

Ejemplo

<media:group>

Secundaria de

entry

Secundarias

media:title, media:description, media:keywords, media:category, media:content, media:player, media:thumbnail, yt:duration?, yt:private?, yt:noembed?

media:keywords

La etiqueta <media:keywords> incluye una lista de palabras o frases asociadas a un vídeo separadas por comas. Debes especificar al menos una palabra clave para cada uno de los vídeos de tu feed. Este campo puede tener una longitud máxima de 120 caracteres y puede contener todos los caracteres UTF-8 válidos, excepto < y <. La longitud máxima de cada palabra clave es de 25 caracteres.

Atributos

Nombre

Formato

Descripción

scheme

Texto

El atributo scheme especifica un identificador uniforme de recursos (URI) que identifica el esquema de categorización asociado a la etiqueta.

  • En una solicitud de adición de una suscripción, el valor del atributo scheme debe ser http://gdata.youtube.com/schemas/2007/subscriptiontypes.cat.
  • En una solicitud de adición de un contacto, el valor del atributo scheme debe ser http://gdata.youtube.com/schemas/2007/contact.cat.

Ejemplo

<media:keywords>rodeo, surfing, crochet</media:keywords>

Secundaria de

media:group

media:player

La etiqueta <media:player> especifica una URL en la que se encuentra disponible el vídeo completo, que se puede ver a través de un reproductor de medios que se ejecuta en un navegador web. En una respuesta del API de datos de YouTube, la etiqueta <media:player> especifica la URL de la página del sitio web de YouTube en la que se reproduce el vídeo.

Atributos

Nombre

Formato

Descripción

url

Complejo

El atributo url identifica una URL que utiliza un reproductor de vídeo para mostrar el vídeo en una ventana del navegador.

Ejemplo

<media:player url=’http://www.youtube.com/watch?v=8aYQ_wjmriQ’/>

Secundaria de

media:group

media:thumbnail

La etiqueta <media:thumbnail> especifica la ubicación de una imagen que se puede utilizar para representar un vídeo en una lista de resultados de búsqueda. Un feed de vídeos puede hacer referencia a varias imágenes en miniatura y a varios tamaños de esas imágenes. Puedes seleccionar el tamaño de miniatura que sea más adecuado para tu interfaz de usuario.

Atributos

Nombre

Formato

Descripción

url

Complejo

El atributo url especifica la URL de la imagen en miniatura.

height

Complejo

El atributo height especifica la altura de la imagen en miniatura.

width

Complejo

El atributo width especifica el ancho de la imagen en miniatura.

time

Complejo

El atributo time especifica el momento del vídeo en el que aparece el fotograma mostrado en la imagen en miniatura. El valor del atributo se expresa mediante el protocolo Normal Play Time (NTP) de DSM-CC utilizado en RTSP.

Ejemplo

<media:thumbnail url=’http://img.youtube.com/vi/8aYQ_wjmriQ/2.jpg&#8217; height=’97’ width=’130′ time=’00:01:23’/>

Secundaria de

entry, media:group

media:title

La etiqueta <media:title> identifica el título del vídeo. Este campo puede tener una longitud máxima de 60 caracteres y puede contener todos los caracteres UTF-8 válidos, excepto < y >.

Atributos

Nombre

Formato

Descripción

type

Complejo

El atributo type especifica el tipo de texto especificado en el valor de la etiqueta. Los feeds de contenido de YouTube requieren el uso de texto sin formato (type=plain).

Ejemplo

<media:title type=”plain”>Extreme crocheting in high surf, rodeo</media:title>

Secundaria de

media:group

Referencia de elementos de Google Data

gd:comments

La etiqueta <gd:comments> incluye un enlace al feed de comentarios de un vídeo.

Ejemplo

<gd:comments>

Secundaria de

entry

Secundarias

gd:feedLink

gd:feedLink

La etiqueta <gd:feedLink> identifica un feed anidado de forma lógica. Por ejemplo, un feed de comentarios estará anidado de forma lógica debajo de una entrada de vídeo. Del mismo modo, el feed de una lista de reproducción estará anidado de forma lógica dentro de una entrada de lista de reproducción del feed de listas de reproducción de un usuario.

Atributos

Nombre

Formato

Descripción

rel

Complejo

El atributo rel indica la forma en que el identificador uniforme de recursos (URI) especificado en el atributo href está relacionado con el conjunto de resultados actual:

  • Si el valor del atributo rel es self, el enlace identificará la URL que se deberá utilizar para recuperar información sobre el feed o sobre una entrada concreta del feed.
  • Si el valor del atributo rel es edit, el enlace identificará la URL que se deberá utilizar para modificar una entrada de feed.
  • Si el valor del atributo rel es alternate, el enlace identificará una URL que mostrará una presentación distinta del feed como, por ejemplo, un enlace a la representación HTML de dicha entrada de feed.
  • Si el valor del atributo rel es prev, el enlace apuntará a la página anterior del conjunto de resultados del feed.
  • Si el valor del atributo rel es next, el enlace apuntará a la página siguiente del conjunto de resultados del feed.
  • Si el valor del atributo rel es related, el enlace identificará otro feed relacionado con el feed actual. Por ejemplo, si el feed contiene una lista de entradas de contacto, el enlace relacionado de un contacto deberá apuntar al feed del perfil de dicho contacto.
  • El atributo rel también puede contener un enlace a un esquema que identifique el tipo de entidad relacionada con el enlace correspondiente. Por ejemplo, una entrada de vídeo contiene etiquetas <link> que apuntan a respuestas, puntuaciones, reclamaciones y vídeos relacionados con dicho vídeo. Algunas de esas etiquetas <link> se pueden utilizar para recuperar feeds adicionales como, por ejemplo, vídeos relacionados y respuestas en vídeo, mientras que otras se pueden utilizar para publicar datos como, por ejemplo, una puntuación o una reclamación.

href

Complejo

El atributo href especifica un identificador uniforme de recursos (URI) que identifica el recurso identificado en la etiqueta <link>.

gd:countHint

Complejo

El atributo gd:countHint especifica el número de entradas del feed relacionado. Por ejemplo, si la etiqueta <gd:feedLink> especifica un enlace al feed de comentarios de un vídeo, el atributo gd:countHint indicará el número de comentarios que tiene ese vídeo.

Ejemplo

<gd:feedLink href=’http://gdata.youtube.com/feeds/api/videos/8aYQ_wjmxiQ/comments’ countHint=’0’/>

Secundaria de

entry, gd:comments

gd:rating

La etiqueta <gd:rating> especifica la puntuación que se le asigna a un vídeo (en una solicitud de adición de puntuación) o la puntuación media actual del vídeo basada en las puntuaciones globales de los usuarios de YouTube.

Atributos

Nombre

Formato

Descripción

min

Complejo

El atributo min especifica la puntuación mínima que se puede asignar a un vídeo. Este valor debe ser 1.

max

Complejo

El atributo max especifica la puntuación máxima que se puede asignar a un vídeo. Este valor debe ser 5.

numRaters

Complejo

El atributo numRaters indica el número de personas que han puntuado el vídeo. Este atributo no se utiliza en las solicitudes de adición de puntuaciones.

average

Complejo

El atributo average indica la puntuación media del vídeo. Este atributo no se utiliza en las solicitudes de adición de puntuaciones.

Ejemplo

<gd:rating min=’1′ max=’5′ numRaters=’7773′ average=’4.75’/>

Secundaria de

entry

Referencia de elementos de GeoRSS

georss:where

La etiqueta <georss:where> incluye información sobre una ubicación geográfica. Ten en cuenta que, si un vídeo tiene asociada una ubicación geográfica, deberás incluir esa información en las posteriores solicitudes de actualización de la información de ese vídeo. De lo contrario, la información de ubicación geográfica se eliminará.

Ejemplo

<georss:where>

Secundaria de

entry

Secundarias

gml:Point

Referencia de elementos de GML

gml:Point

La etiqueta <gml:Point> contiene información sobre una ubicación geográfica específica. La proyección de puntos predeterminada es WGS84. Puedes especificar la ubicación geográfica de la que se ha extraído un vídeo en las solicitudes de subida o actualización de los metadatos de ese vídeo. Ten en cuenta que, si un vídeo tiene asociada una ubicación geográfica, deberás incluir esa información en las posteriores solicitudes de actualización de la información de ese vídeo. De lo contrario, la información de ubicación geográfica se eliminará.

Ejemplo

<gml:Point>

Secundaria de

georss:where

Secundarias

gml:pos

gml:pos

La etiqueta <gml:pos> especifica las coordenadas de un punto geográfico. La proyección de puntos predeterminada es WGS84. Ten en cuenta que, si un vídeo tiene asociada una ubicación geográfica, deberás incluir esa información en las posteriores solicitudes de actualización de la información de ese vídeo. De lo contrario, la información de ubicación geográfica se eliminará.

Ejemplo

<gml:pos>47.367 8.55</gml:pos>

Secundaria de

gml:Point

Referencia de elementos de Atom Publishing Protocol

app:control

La etiqueta <app:control> indica que un vídeo no se ha publicado. Esta etiqueta sólo aparece en el feed de subidas del usuario autenticado actualmente.

Ejemplo

<app:control>

Secundaria de

entry

Secundarias

app:draft, yt:state

app:draft

La etiqueta <app:draft> indica si un vídeo se encuentra en estado “borrador” o “no publicado”. Esta etiqueta sólo se incluye para videos no publicados, por lo que su valor siempre es yes.

Ejemplo

<app:draft>yes</app:draft>

Secundaria de

app:control

Referencia de elementos de respuesta del API de subidas basadas en navegador

response

La etiqueta <response> incluye la respuesta del API que devuelve YouTube a una solicitud de subida de los metadatos de un nuevo vídeo mediante la subida basada en navegador.

Ejemplo

<response>

Secundarias

url, token

token

La etiqueta <token> aparece en la respuesta del API que devuelve YouTube a una solicitud de subida de los metadatos de un nuevo vídeo mediante la subida basada en navegador. El token debe estar incluido en la página que permite que el usuario suba el nuevo vídeo directamente a YouTube.

Ejemplo

<token>AEwbFAQEvf3xox…</token>

Secundaria de

response

url

La etiqueta <url> aparece en la respuesta del API que devuelve YouTube a una solicitud de subida de los metadatos de un nuevo vídeo mediante la subida basada en navegador. El formulario incluido en tu página web que puede utilizar el usuario para subir el archivo de vídeo a YouTube se enviará a esta URL.

Ejemplo

<url>http://uploads.gdata.youtube.com/action/FormUpload/AEF3087AUD</url&gt;

Secundaria de

response

Referencia de elementos de respuesta a errores

code

La etiqueta <code> indica el motivo por el que no se ha podido atender la solicitud del API. En la lista que aparece a continuación se identifican los posibles valores de la etiqueta <code> en función del valor de la etiqueta <domain> correspondiente.

  • yt:validation:
    • required: este código indica que falta un campo obligatorio o tiene un valor vacío.
    • deprecated: este código indica que el valor de un elemento se ha desaprobado y ya no es válido. Por ejemplo, el nombre de una categoría de vídeo que se haya retirado no se podrá asociar a vídeos recién añadidos o actualizados.
    • invalid_format: este código indica que el valor de un elemento XML no coincide con el formato esperado. Por ejemplo, puedes recibir este error si especificas unas coordenadas no válidas en la etiqueta <gml:pos>.
    • invalid_character: este código indica que el valor de un campo XML contiene una carácter no válido. Por ejemplo, los títulos de vídeos no pueden contener el carácter menor que (<).
    • too_long: este código indica que el valor del elemento XML supera la longitud máxima permitida. Por ejemplo, los títulos de vídeos deben tener 60 caracteres como máximo.
  • yt:quota:
    • too_many_recent_calls: este código indica que los servidores del API han recibido demasiadas llamadas desde el mismo origen en un breve espacio de tiempo. Este error no especifica ninguna ubicación.
    • too_many_entries: este código indica que el usuario está intentando superar un límite de almacenamiento en su cuenta y debe eliminar entradas existentes antes de introducir nuevas.
  • yt:authentication:
    • InvalidToken: este código indica que el token de autenticación especificado en el encabezado Authorization no es válido.
    • TokenExpired: este código indica que el token de autenticación especificado en el encabezado Authorization ha caducado.

Ejemplo

<code>required</code>

Secundaria de

error

domain

La etiqueta <domain> identifica el error por el que no se ha podido atender una solicitud del API. En la siguiente lista se identifican los posibles valores de la etiqueta <domain>:

  • Un error yt:validation informa de un problema relativo a un valor de elemento XML existente en una solicitud de inserción o actualización de una entrada. Las funciones del API que introducen o actualizan vídeos u otros datos pueden informar de errores yt:validation. Los errores de validación se suelen notificar a través del código de respuesta HTTP 400.
  • Un error yt:quota identifica un problema relativo a un uso irregular del API.
  • Un error yt:authentication identifica un problema relativo a una solicitud de ejecución de una función del API que requiere una autenticación de usuario que no se ha realizado correctamente. Los errores de autenticación se pueden identificar con los códigos de respuesta HTTP 401 o 403.

Ejemplo

<domain>yt:validation</domain>

Secundaria de

error

error

La etiqueta <error> contiene información sobre el error por el que no se ha podido atender una solicitud del API.

Ejemplo

<error>

Secundaria de

errors

Secundarias

domain, code, location

errors

La etiqueta <errors> incluye una respuesta del API que explica los errores por los que no se ha podido atender la solicitud del API correspondiente.

Ejemplo

<errors>

Secundarias

error+

location

La etiqueta <location> proporciona información sobre el elemento de la solicitud que ha producido el error.

  • Si el valor de la etiqueta <domain> es yt:validation, la etiqueta <location> definirá la ubicación del error como una ruta Xpath que indica la etiqueta XML que ha causado el error en la solicitud. La ubicación Xpath se especifica en relación con la etiqueta <entry> de la solicitud.
  • Si el valor de la etiqueta <domain> es yt:quota y el valor de la etiqueta <code> es too_many_recent_calls, la respuesta del API no incluirá una etiqueta <location>.
  • Si el valor de la etiqueta <domain> es yt:quota y el valor de la etiqueta <code> es too_many_entries, la etiqueta <location> identificará el feed que ha causado el error.
  • Si el valor de la etiqueta <domain> es yt:authentication, la etiqueta <location> (en caso de que aparezca) identificará la causa del error de autenticación.

Atributos

Nombre

Formato

Descripción

type

Complejo

El atributo type proporciona contexto para el valor de la etiqueta <location>. El atributo type puede tener cualquiera de los valores indicados a continuación.

  • xpath: la solicitud XML contiene un error en la ruta especificada referente a la etiqueta <entry> de la solicitud.
  • parameter: la solicitud del API contiene un error en el parámetro especificado en la etiqueta <location>.
  • header: la solicitud del API contiene un error en el encabezado de solicitud HTTP especificado.
  • other: la solicitud del API contiene otro tipo de error. Este valor permite identificar errores de cupo en los que el valor de la etiqueta code es too_many_entries.

Ejemplo

<location type=’xpath’>media:group/media:title/text()</location>

Secundaria de

error

Apéndices

Lista de categorías de los vídeos subidos

En el documento de categorías de YouTube, que se puede descargar de la página http://gdata.youtube.com/schemas/2007/categories.cat, se identifican las categorías que se pueden utilizar para clasificar los vídeos. El documento de categorías es un archivo XML en el que se identifican las categorías y se indica si se pueden asignar nuevos vídeos a cada categoría y si es posible localizar cada una de las categorías en YouTube.

En el fragmento que aparece a continuación se muestran las entradas de las categorías “Entertainment” y “Nonprofit & Activism” tal como aparecían en el documento de categorías de YouTube el 2 de enero de 2008. Ten en cuenta que podía haber vídeos asignados a ambas categorías pero, en ese momento, sólo se podía localizar en YouTube la categoría “Entertainment”. Tal como se muestra en el ejemplo, la presencia de la etiqueta <yt:browsable> indica que se puede localizar en YouTube la categoría correspondiente y la etiqueta <yt:assignable> indica que se pueden asignar nuevos vídeos a esa categoría. (No se pueden asignar nuevos vídeos a categorías que no estén marcadas como asignables con la etiqueta <yt:assignable>.)

<atom:category term=’Entertainment’ label=’Entertainment’>

<yt:browsable/>

<yt:assignable/>

</atom:category>

<atom:category term=’Nonprofit’ label=’Nonprofit & Activism’>

<yt:assignable/>

</atom:category>

En la solicitud de subida enviada por el API, el valor de la etiqueta <media:category> debe coincidir con el valor del atributo term de la etiqueta <atom:category> de la categoría correspondiente. En el siguiente ejemplo se indica cómo se debe utilizar la etiqueta <media:category> para asignar un nuevo vídeo a la categoría Nonprofit & Activism, que aparece en el fragmento de esquema anterior.

<media:category

scheme=”http://gdata.youtube.com/schemas/2007/categories.cat”>Nonprofit</media:category&gt;

Escape URL

Si vas a realizar una solicitud de búsqueda HTTP, debes seguir una serie de convenciones para que Google pueda traducir correctamente tu solicitud HTTP y generar una respuesta adecuada.

El esquema de URL HTTP especifica que una solicitud de URL HTTP sólo puede contener los caracteres que se indican a continuación.

  • Caracteres alfanuméricos: [a-z][A-Z][0-9]
  • Caracteres especiales: $ – _ . | + ! * ‘ ( )
  • Caracteres reservados: ; / ? : @ = &

Google utiliza caracteres reservados para descodificar URL y algunos caracteres especiales para solicitar funciones de búsqueda. En consecuencia, deberás aplicar un formato de escape URL a todos los caracteres no alfanuméricos incluidos en los valores de los parámetros de búsqueda.

Para aplicar un formato de escape URL a una cadena, debes convertir cada secuencia de caracteres de espacio en blanco en un signo más (“+”) y sustituir todos los demás caracteres no alfanuméricos por el código hexadecimal que represente el valor de ese carácter. En la tabla que aparece a continuación se muestran los códigos hexadecimales de los caracteres reservados y especiales anteriormente mostrados. Se deberá aplicar un formato de escape URL a cada uno de estos caracteres en los valores de los parámetros de solicitud.

Carácter

Código
hexadecimal

$

%24

%2D

_

%5F

.

%2E

+

%2B

!

%21

*

%2A

%22

%27

(

%28

)

%29

;

%3B

/

%2F

?

%3F

:

%3A

@

%40

=

%3D

&

%26

|

%7C

Examples

Cadena original

Cadena con formato de escape URL

punch&judy

punch%26judy

O’Reilly

O%27Reilly

Para obtener información adicional sobre el escape URL, consulta los documentos RFC 2396 y W3C.

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: