Esta página muestra ejemplos de solicitudes a la API de datos de YouTube. Puedes utilizar la API de datos de YouTube para recuperar y manipular los recursos de YouTube, como videos, canales y listas de reproducción. Cada muestra se vincula al Explorador de API de Google y lo propaga para que usted pueda ejecutar la muestra y ver la respuesta.
Para obtener más información sobre la carga de contenido con la API de datos de YouTube, consulta Cargas reanudables.
Descripción general
Para mayor claridad de la presentación, los ejemplos de esta página muestran los elementos distintivos de cada solicitud y abrevian la URL base para el host que procesa las solicitudes a la API de datos (https://www.googleapis.com/youtube/v3
). Para realizar la solicitud fuera del contexto de las muestras, debes incluir la URL completa.
Por ejemplo, esta es una solicitud de ejemplo tal como aparece en esta página:
GET {base-URL}/channels?part=contentDetails &mine=true
La URL completa para esta solicitud es la siguiente:
GET https://www.googleapis.com/youtube/v3/channels?part=contentDetails &mine=true
Varias de las solicitudes recuperan datos a los que solo puede acceder el propietario del canal de YouTube, como la lista de suscriptores. Estas solicitudes requieren que el propietario del canal otorgue al Explorador de API de Google el derecho de realizar solicitudes a la API de datos de YouTube en su nombre. Consulta Implementar la autenticación OAuth 2.0 para obtener detalles sobre la autorización del acceso a los datos del canal privado. Después de vincular el Explorador de API, haga clic en el botón Autorizar solicitudes mediante OAuth 2.0. En este paso, se autoriza al Explorador de API a realizar solicitudes en nombre del propietario. También debe seleccionar el alcance de la autorización, que especifica los tipos de solicitudes que el Explorador de API puede realizar.
La respuesta a cada solicitud es la representación JSON de un recurso de YouTube. El parámetro part
en la solicitud especifica qué partes del recurso se incluyen en la respuesta. El parámetro identifica una o más propiedades de recursos de nivel superior (no anidadas) que se deben incluir en la respuesta. Por ejemplo, algunas de las partes de un recurso de video son las siguientes:
- resumen
- Detalles de contenido
- jugador
- statistics
- estado
Todas estas partes son objetos que contienen propiedades anidadas. Puedes considerar estos objetos como grupos de campos de metadatos que el servidor de la API podría (o no) recuperar. Por lo tanto, el parámetro part
requiere que selecciones los componentes de recursos que tu aplicación usa realmente.Consulta Cómo comenzar a utilizar la API de datos de YouTube para obtener más información.
Recuperar información del canal
Esta solicitud usa el método channels.list
para recuperar detalles sobre los canales que pertenecen al usuario autenticado.
GET {base_URL}/channels?part=contentDetails &mine=true
La respuesta a esta solicitud incluye el ID del canal y contentDetails
para el canal del usuario autenticado. contentDetails
incluye las diversas listas de reproducción generadas por el sistema asociadas con el canal. Muchas de las solicitudes posteriores requieren el ID del canal o uno de los ID de las listas de reproducción, por lo que es importante grabarlos.
{ "id": {CHANNEL_ID}, "kind": "youtube#channel", "etag": etag, "contentDetails": { "relatedPlaylists": { "likes": {LIKES_PLAYLIST_ID}, "favorites": {FAVORITES_PLAYLIST_ID}, "uploads": {UPLOADS_PLAYLIST_ID}, "watchHistory": {WATCHHISTORY_PLAYLIST_ID}, "watchLater": {WATCHLATER_PLAYLIST_ID} }, "googlePlusUserId": string }, }
Videos subidos y listas de reproducción generadas por el sistema
YouTube agrega todos los videos subidos a una lista de reproducción asociada con el canal. Para obtener una lista de los videos subidos, debes consultar la lista de reproducción "subidas" que se mostró en la respuesta mostrada anteriormente para la información del canal, utilizando el método playlistItems.list
para recuperar los videos en esa lista de reproducción.
Antes de ejecutar la siguiente solicitud de ejemplo en el Explorador de API de Google, reemplaza {UPLOADS_PLAYLIST_ID} por el ID de la lista de reproducción de la solicitud anterior.
GET {base_URL}/playlistItems?part=contentDetails &playlistId={UPLOADS_PLAYLIST_ID}
Ten en cuenta que el valor "id"
para cada elemento que se muestra es su ID de itemItem. El ID de video del elemento de la lista de reproducción es videoId
en la parte contentDetails
.
Puedes recuperar los favoritos, los "Me gusta", el historial de reproducciones o las listas de reproducción posteriores de un usuario mediante la solicitud anterior al sustituir el ID de la lista de reproducción correspondiente de la respuesta de la información del canal.
Listas de reproducción creadas por los usuarios
Esta solicitud usa el método playlists.list
para recuperar las listas de reproducción asociadas con el canal autenticado. Ten en cuenta que esta solicitud no recupera las listas de reproducción generadas por el sistema incluidas en la información del canal (subidas, watchHistory, etc.). Solo recupera listas de reproducción creadas por los usuarios.
GET {base_URL}/playlists?part=snippet &mine=true
Cuando tengas el ID de una lista de reproducción, podrás recuperar los elementos de esta mediante la solicitud que se muestra en la sección anterior.
Puedes solicitar información sobre las listas de reproducción públicas de un canal sin autenticación. Cuando envías una solicitud no autenticada, debes incluir el argumento key
que especifica la clave de API única para la aplicación que realiza la solicitud. Por ejemplo, esta solicitud recupera las listas de reproducción asociadas con el canal de GoogleDevelopers.
GET {base_URL}/playlists?part=snippet &channelId=UC_x5XG1OV2P6uZZ5FSM9Ttw &key={YOUR_API_KEY}
Recuperar suscripciones
Un recurso subscription
define una relación entre un usuario de YouTube (el suscriptor) y un canal. El método subscriptions.list
recupera los suscriptores a un canal en particular o las suscripciones de un usuario en particular, según los parámetros que incluyas en la solicitud.
Suscriptores del canal
Esta solicitud recupera una lista de los suscriptores del canal autenticado.
GET {base_URL}/subscriptions?part=snippet &mySubscribers=true
Suscripciones de usuario
Puedes usar el mismo método para enumerar suscriptores (subscriptions.list
) a fin de generar una lista de canales a los que se suscribe un usuario. Esta solicitud usa el parámetro mine
para recuperar una lista de los canales de YouTube a los que se suscribe el usuario autenticado.
GET {base_URL}/subscriptions?part=snippet &mine=true
Recuperar la actividad del usuario
Un recurso activity
contiene información sobre una acción que un usuario o canal en particular realizó en YouTube: subir un video, suscribirse a un canal, etc. El método activities.list
recupera las acciones asociadas con un canal o usuario que coinciden con los criterios de la solicitud. Por ejemplo, puedes recuperar acciones asociadas a un canal en particular, con las suscripciones del usuario o con la página principal personalizada de YouTube del usuario.
Actividad durante un período
Esta solicitud recupera todas las acciones que realizó el usuario autenticado durante abril de 2013.
GET {base_URL}/activities?part=snippet,contentDetails &mine=true &publishedAfter=2013-04-01T00%3A00%3A00Z &publishedBefore=2013-05-01T00%3A00%3A00Z
Actividad de la página principal
Esta solicitud recupera el feed de actividad personalizado que se muestra en la página principal de YouTube del usuario autenticado.
GET {base_URL}/activities?part=snippet,contentDetails &home=true
Para recuperar las estadísticas de reproducción, las métricas de popularidad y la información demográfica de los videos y canales de YouTube, utiliza la YouTube Analytics API. La página Solicitudes de API de ejemplo muestra cómo recuperar informes comunes de YouTube Analytics.
Buscar
El método search.list
te permite buscar videos, canales o listas de reproducción de YouTube que coincidan con los criterios especificados. Puede buscar por propiedades de video, palabras clave o temas (o una combinación de ellos), y puede ordenar los resultados según factores como la fecha de creación, la cantidad de reproducciones o la calificación.
Al igual que otras solicitudes a la API de datos de YouTube, el método search.list
muestra la representación JSON de un recurso de YouTube. Sin embargo, a diferencia de otros recursos de YouTube, un resultado de la búsqueda no es un objeto persistente con un ID único.
Muchas solicitudes buscan contenido disponible públicamente y, por lo tanto, no requieren autenticación. Entre los ejemplos que aparecen a continuación, solo el primero requiere autenticación, ya que solicita específicamente "mis" videos. Cuando envías una solicitud no autenticada, debes incluir el argumento key
que especifica la clave de API única para tu aplicación.
Mis videos más vistos
Con esta solicitud se recuperan todos los videos del usuario autenticado y se enumeran en orden descendente según la cantidad de reproducciones.
GET {base_URL}/search?part=snippet &forMine=true &order=viewCount &type=video
Videos incorporables de alta definición
Esta solicitud busca videos que tengan propiedades particulares, es decir, videos de alta definición que pueden insertarse en otros sitios. Enumera los resultados en orden descendente de calificación.
GET {base_URL}/search?part=snippet &order=rating &type=video &videoDefinition=high &videoEmbeddable=true &key={YOUR_API_KEY}
Videos sobre un tema en particular
Esta solicitud realiza una búsqueda por palabra clave de videos sobre la API de datos de YouTube que incluyen subtítulos.
GET {base_URL}/search?part=snippet &q=YouTube+Data+API &type=video &videoCaption=closedCaption &key={YOUR_API_KEY}
Búsqueda basada en temas
Una forma más sofisticada de buscar videos sobre un tema específico es usar temas de Freebase en lugar de palabras clave. Todos los recursos de canales y videos de YouTube contienen un objeto topicDetails que contiene una lista de ID de temas de Freebase asociados con el recurso. Una búsqueda basada en temas es más inteligente que una búsqueda de palabras clave, ya que un tema de Freebase representa todos los aspectos de una idea o un concepto del mundo real.
Para realizar una búsqueda con un tema de Freebase, primero debes obtener el ID del tema con la API de Freebase. Esta solicitud muestra videos asociados con el tema de Freebase para Python, cuyo ID de tema es /m/05z1_
.
GET {base_URL}/search?part=snippet &topicId=/m/05z1_ &type=video &key={YOUR_API_KEY}
Buscar listas de reproducción o canales
La búsqueda no se limita a los videos. También puedes buscar listas de reproducción o canales. Esta solicitud recupera listas de reproducción que coinciden con la palabra clave "fútbol".
GET {base_URL}/search?part=snippet &q=soccer &type=playlist &key={YOUR_API_KEY}
Si prefieres buscar canales de fútbol, cambia el parámetro type
.
GET {base_URL}/search?part=snippet &q=soccer &type=channel &key={YOUR_API_KEY}
Si deseas todo el contenido relacionado con el fútbol (canales, listas de reproducción y videos), puedes realizar una búsqueda universal. Si omites el parámetro type
, la solicitud recupera el contenido de todos los tipos.
GET {base_URL}/search?part=snippet &q=soccer &key={YOUR_API_KEY}
Crea y actualiza recursos
Todas las solicitudes que hemos analizado hasta ahora usan el método HTTP GET para recuperar datos de YouTube. La API de datos de YouTube también ofrece métodos que utilizan HTTP POST para crear o actualizar los recursos de YouTube, como videos, listas de reproducción o canales. Las siguientes solicitudes proporcionan ejemplos.
Los métodos POST incluyen un Request body
, que es la representación JSON del recurso que se crea o actualiza. Puedes crear representaciones JSON en el Explorador de API de Google con una herramienta interactiva.
Cree una suscripción
Esta solicitud suscribe al usuario autenticado al canal de GoogleDevelopers. En otras palabras, crea un recurso de suscripción.
POST {base_URL}/subscriptions?part=snippet
Request body: { 'snippet': { 'resourceId': { 'kind': 'youtube#channel', 'channelId': 'UC_x5XG1OV2P6uZZ5FSM9Ttw' } } }
Cómo crear una lista de reproducción
Esta solicitud crea una nueva lista de reproducción pública.
POST {base_URL}/playlists?part=snippet
Request body: { 'snippet': { 'title': 'New playlist', 'description': 'Sample playlist for Data API', } }
Agregar un video a una lista de reproducción
Ahora que creamos una lista de reproducción, vamos a agregarle un video. Esta solicitud agrega un video al comienzo de la lista de reproducción ('position': 0
).
POST {base_URL}/playlistItems?part=snippet Request body: { 'snippet': { 'playlistId': '{PLAYLIST_ID}', 'resourceId': { 'kind': 'youtube#video', 'videoId': '{VIDEO_ID}' } 'position': 0 } }