Solicitudes de API de ejemplo

En esta página, se muestran solicitudes de ejemplo a la API de YouTube Data. Usas la API de YouTube Data para recuperar y manipular recursos de YouTube, como videos, canales y playlists. Cada ejemplo se vincula al Explorador de APIs de Google y lo propaga para que puedas ejecutar el ejemplo y ver la respuesta.

Para obtener información sobre cómo subir contenido con la API de YouTube Data, consulta Cargas reanudables.

Descripción general

Para mayor claridad en la presentación, los ejemplos de esta página muestran los elementos distintivos de cada solicitud y abrevian la URL base del host que procesa las solicitudes a la API de datos (https://www.googleapis.com/youtube/v3). Para realizar la solicitud fuera del contexto de los ejemplos, debes incluir la URL completa.

Por ejemplo, esta es una solicitud de muestra tal como aparece en esta página:

GET {base-URL}/channels?part=contentDetails
                       &mine=true

La URL completa de 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 le otorgue al Explorador de APIs de Google el derecho de realizar solicitudes a la API de YouTube Data en su nombre. (Consulta Implementa la autenticación de OAuth 2.0 para obtener detalles sobre cómo autorizar el acceso a los datos del canal privado). Después de vincularte al Explorador de APIs, haz clic en el botón Authorize requests using OAuth 2.0. Este paso autoriza al Explorador de APIs a realizar solicitudes en nombre del propietario. También seleccionas el alcance de la autorización, que especifica los tipos de solicitudes que puede realizar el Explorador de APIs.

La respuesta a cada solicitud es la representación JSON de un recurso de YouTube. El parámetro part de 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 video recurso son las siguientes:

  • resumen
  • contentDetails
  • 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 usa tu aplicación.Consulta Comienza a usar la API de YouTube Data para obtener más información.

Recupera 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. Los contentDetails incluyen las varias playlists generadas por el sistema asociadas con el canal. Muchas de las solicitudes posteriores requieren el ID del canal o uno de los IDs de la playlist, por lo que es importante registrarlos.

{
  "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 playlists generadas por el sistema

YouTube agrega todos los videos subidos a una playlist asociada con el canal. Para obtener una lista de los videos subidos, consulta la playlist "uploads" que se muestra en la respuesta anterior para obtener información del canal, con el playlistItems.list método para recuperar los videos de esa playlist.

Antes de ejecutar la siguiente solicitud de muestra en el Explorador de APIs de Google, reemplaza {UPLOADS_PLAYLIST_ID} por el ID de la playlist de la solicitud anterior.

GET {base_URL}/playlistItems?part=contentDetails
                            &playlistId={UPLOADS_PLAYLIST_ID}

Ten en cuenta que el valor "id" de cada elemento que se muestra es su ID de playlistItem. El ID de video del elemento de la playlist es el videoId en la parte contentDetails.

Puedes recuperar las listas de Favoritos, Me gusta, historial de reproducciones o Ver más tarde de un usuario con la solicitud anterior. Para ello, sustituye el ID de la playlist correspondiente de la respuesta de información del canal.

Playlists creadas por el usuario

Esta solicitud usa el método playlists.list para recuperar las playlists asociadas con el canal autenticado. Ten en cuenta que esta solicitud no recupera las playlists generadas por el sistema que se incluyen en la información del canal (subidas, historial de reproducciones, etcétera). Solo recupera las playlists creadas por el usuario.

GET {base_URL}/playlists?part=snippet
                        &mine=true

Una vez que tengas un ID de la playlist, puedes recuperar los elementos de la playlist con la solicitud que se muestra en la sección anterior.

Puedes solicitar información sobre las playlists 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 playlists asociadas con el canal GoogleDevelopers.

GET {base_URL}/playlists?part=snippet
                        &channelId=UC_x5XG1OV2P6uZZ5FSM9Ttw
                        &key={YOUR_API_KEY}

Recupera 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 de 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 del usuario

Se puede usar el mismo método que enumera los suscriptores (subscriptions.list) para enumerar los 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

Recupera la actividad del usuario

Un recurso activity contiene información sobre una acción que un canal o usuario en particular realizó en YouTube, como subir un video, suscribirse a un canal, etcétera. 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 con 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 estadísticas de visualización, métricas de popularidad y datos demográficos de los videos de YouTube y canales, usa la API de YouTube Analytics. En la página Solicitudes de ejemplo a la API, se muestra cómo recuperar informes comunes de YouTube Analytics.

El método search.list te permite buscar videos de YouTube, canales o playlists que coincidan con los criterios especificados. Puedes buscar según las propiedades del video, las palabras clave o los temas (o una combinación de estos), y puedes ordenar los resultados según factores como la fecha de creación, el recuento de vistas o la calificación.

Al igual que otras solicitudes a la API de YouTube Data, el método search.list devuelve 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 se muestran 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 key argumento que especifica la clave de API única para tu aplicación.

Mis videos más vistos

Esta solicitud recupera todos los videos del usuario autenticado y los enumera en orden descendente según el recuento de vistas.

GET {base_URL}/search?part=snippet
                     &forMine=true
                     &order=viewCount
                     &type=video

Videos insertables en alta definición

Esta solicitud busca videos que tengan propiedades particulares, es decir, videos en alta definición que se puedan insertar 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 de palabras clave de videos sobre la API de YouTube Data 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 en particular es usar temas de Freebase en lugar de palabras clave. Los recursos de video y canal de YouTube contienen un objeto topicDetails que contiene una lista de IDs 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 un concepto o cosa del mundo real.

Para buscar con un tema de Freebase, primero debes recuperar el ID del tema con la API de Freebase. Esta solicitud devuelve 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 playlists o canales

La búsqueda no se limita a los videos. También puedes buscar playlists o canales. Esta solicitud recupera playlists que coinciden con la palabra clave "soccer".

GET {base_URL}/search?part=snippet
                     &q=soccer
                     &type=playlist
                     &key={YOUR_API_KEY}

Si prefieres encontrar canales de fútbol, solo cambia el parámetro type.

GET {base_URL}/search?part=snippet
                     &q=soccer
                     &type=channel
                     &key={YOUR_API_KEY}

Si quieres obtener todo el contenido relacionado con el fútbol (canales, playlists y videos), puedes realizar una búsqueda universal. Si omites el parámetro type, la solicitud recupera contenido de todos los tipos.

GET {base_URL}/search?part=snippet
                     &q=soccer
                     &key={YOUR_API_KEY}

Crea y actualiza recursos

Las solicitudes que vimos hasta ahora usan el método HTTP GET para recuperar datos de YouTube. La API de YouTube Data también ofrece métodos que usan HTTP POST para crear o actualizar recursos de YouTube, como videos, playlists 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 APIs de Google con una herramienta interactiva.

Crea una suscripción

Esta solicitud suscribe al usuario autenticado al canal 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'     }   } }

Crear una playlist

Esta solicitud crea una playlist pública nueva.

POST {base_URL}/playlists?part=snippet
Request body: {   'snippet': {     'title': 'New playlist',     'description': 'Sample playlist for Data API',   } }

Agregar un video a una playlist

Ahora que creamos una playlist, agreguemos un video. Esta solicitud agrega un video al comienzo de la playlist ('position': 0).

POST {base_URL}/playlistItems?part=snippet
  Request body:
  {
    'snippet': {
      'playlistId': '{PLAYLIST_ID}', 
      'resourceId': {
          'kind': 'youtube#video',
          'videoId': '{VIDEO_ID}'
        }
     'position': 0
      }
   }