Channels: list

Organízate con las colecciones Guarda y clasifica el contenido según tus preferencias.

Muestra una colección de cero o más recursos channel que coinciden con los criterios de solicitud. Pruébalo ahora.

Solicitud

Solicitud HTTP

GET https://www.googleapis.com/youtube/v3/channels

Parámetros

La tabla a continuación muestra los parámetros compatibles con esta consulta. Todos los parámetros mencionados son parámetros de consulta.

Parámetros
Parámetros obligatorios
part string
El parámetro part especifica una lista separada por comas de una o más propiedades de recursos de channel que la respuesta de API va a incluir. Los nombres de part que se pueden incluir en el valor del parámetro son id, snippet, brandingSettings, contentDetails, invideoPromotion, statistics y topicDetails.

Si el parámetro identifica una propiedad que contiene propiedades secundarias, estas se incluirán en la respuesta. Por ejemplo, en un recurso channel, la propiedad contentDetails contiene otras propiedades, tales como las propiedades de uploads. Por lo tanto, si estableces part=contentDetails, la respuesta de la API contendrá todas esas propiedades anidadas.
Filtros (especifica exactamente uno de los siguientes parámetros)
categoryId string
El parámetro categoryId especifica una categoría de guía YouTube para solicitar los canales de YouTube asociados con esa categoría.
forUsername string
El parámetro forUsername especifica un nombre de usuario de YouTube para solicitar el canal asociado con ese nombre de usuario.
id string
El parámetro id especifica una lista separada por comas de ID de canal de YouTube para los recursos que se están recuperando. En un recurso de channel, la propiedad id especifica el ID de canal de YouTube del canal.
managedByMe boolean
Este parámetro solo se puede utilizar en una solicitud autorizada debidamente. Nota: Este parámetro está dirigido exclusivamente a socios de contenido de YouTube.

Establece el valor de este parámetro en true para indicarle a la API que muestre solo canales administrados por el propietario de contenido que el parámetro onBehalfOfContentOwner especifica. El usuario debe autenticarse como una cuenta de CMS relacionada con el propietario del contenido especificado y se debe proporcionar el parámetro onBehalfOfContentOwner.
mine boolean
Este parámetro solo se puede utilizar en una solicitud autorizada debidamente. Establece el valor de este parámetro en true para indicarle a la API que muestre solo los canales que pertenecen al usuario autenticado.
mySubscribers boolean
Este parámetro ya no está disponible. Este parámetro sólo se puede utilizar en una solicitud autorizada debidamente. Utiliza el método subscriptions.list y el parámetro mySubscribers para recuperar una lista de suscriptores al canal del usuario autenticado.
Parámetros opcionales
maxResults unsigned integer
El parámetro maxResults especifica el número máximo de elementos que se deben mostrar en el conjunto de resultados. Los valores aceptables son 0 a 50, ambos inclusive. El valor predeterminado es 5.
onBehalfOfContentOwner string
Este parámetro solo se puede utilizar en una solicitud autorizada debidamente. Nota: Este parámetro está dirigido exclusivamente a socios de contenido de YouTube.

El parámetro onBehalfOfContentOwner indica que las credenciales de autorización de la solicitud identifican a un usuario de CMS de YouTube que actúa en nombre del propietario de contenido especificado en el valor del parámetro. Este parámetro está dirigido a socios de contenido de YouTube que poseen y administran muchos canales de YouTube diferentes. Permite a los propietarios de contenido autenticarse una vez y tener acceso a todos los datos de sus videos y canales, sin tener que proporcionar credenciales de autenticación para cada canal. La cuenta de CMS con la que se autentica el usuario debe estar relacionada con el propietario del contenido de YouTube especificado.
pageToken string
El parámetro pageToken identifica una página específica en el conjunto de resultados que se debe mostrar. En una respuesta de la API, las propiedades nextPageToken y prevPageToken identifican otras páginas que se podrían recuperar.

Cuerpo de la solicitud

No proporciones un cuerpo de solicitud cuando invoques este método.

Respuesta

Si se aplica correctamente, este método muestra un cuerpo de respuesta con la siguiente estructura:

{
  "kind": "youtube#channelListResponse",
  "etag": etag,
  "nextPageToken": string,
  "prevPageToken": string,
  "pageInfo": {
    "totalResults": integer,
    "resultsPerPage": integer
  },
  "items": [
    channel Resource
  ]
}

Propiedades

La siguiente tabla define las propiedades que aparecen en este recurso:

Propiedades
kind string
Tipo de recurso de la API. El valor será youtube#channelListResponse.
etag etag
Etag de este recurso.
nextPageToken string
Token que se puede utilizar como valor del parámetro pageToken para recuperar la página siguiente en el conjunto de resultados.
prevPageToken string
Token que se puede utilizar como valor del parámetro pageToken para recuperar la página anterior en el conjunto de resultados.
pageInfo object
El objeto pageInfo contiene información de paginación para el conjunto de resultados de búsqueda.
pageInfo.totalResults integer
Número total de resultados en el conjunto de resultados.
pageInfo.resultsPerPage integer
Número de resultados incluidos en la respuesta de la API.
items[] list
Lista de canales que coinciden con los criterios de la solicitud.

Ejemplos

Nota: Es posible que los siguientes ejemplos de código no representen todos los lenguajes de programación admitidos. Consulta la documentación sobre bibliotecas cliente para obtener una lista de los lenguajes admitidos.

Apps Script

This function retrieves the current script user's uploaded videos. To execute, it requires the OAuth read/write scope for YouTube as well as user authorization. In Apps Script's runtime environment, the first time a user runs a script, Apps Script will prompt the user for permission to access the services called by the script. After permissions are granted, they are cached for some periodF of time. The user running the script will be prompted for permission again once the permissions required change, or when they are invalidated by the ScriptApp.invalidateAuth() function.

This script takes the following steps to retrieve the active user's uploaded videos: 1. Fetches the user's channels 2. Fetches the user's 'uploads' playlist 3. Iterates through this playlist and logs the video IDs and titles 4. Fetches a next page token (if any). If there is one, fetches the next page. GOTO Step 3
/**
 * This function retrieves the current script user's uploaded videos. To execute,
 * it requires the OAuth read/write scope for YouTube as well as user authorization.
 * In Apps Script's runtime environment, the first time a user runs a script, Apps
 * Script will prompt the user for permission to access the services called by the
 * script. After permissions are granted, they are cached for some periodF of time.
 * The user running the script will be prompted for permission again once the
 * permissions required change, or when they are invalidated by the
 * ScriptApp.invalidateAuth() function.
 *
 * This script takes the following steps to retrieve the active user's uploaded videos:
 *    1. Fetches the user's channels
 *    2. Fetches the user's 'uploads' playlist
 *    3. Iterates through this playlist and logs the video IDs and titles
 *    4. Fetches a next page token (if any). If there is one, fetches the next page. GOTO Step 3
 */
function retrieveMyUploads() {
  var results = YouTube.Channels.list('contentDetails', {mine: true});
  for(var i in results.items) {
    var item = results.items[i];
    // Get the playlist ID, which is nested in contentDetails, as described in the
    // Channel resource: https://developers.google.com/youtube/v3/docs/channels
    var playlistId = item.contentDetails.relatedPlaylists.uploads;

    var nextPageToken = '';

    // This loop retrieves a set of playlist items and checks the nextPageToken in the
    // response to determine whether the list contains additional items. It repeats that process
    // until it has retrieved all of the items in the list.
    while (nextPageToken != null) {
      var playlistResponse = YouTube.PlaylistItems.list('snippet', {
        playlistId: playlistId,
        maxResults: 25,
        pageToken: nextPageToken
      });

      for (var j = 0; j < playlistResponse.items.length; j++) {
        var playlistItem = playlistResponse.items[j];
        Logger.log('[%s] Title: %s',
                   playlistItem.snippet.resourceId.videoId,
                   playlistItem.snippet.title);

      }
      nextPageToken = playlistResponse.nextPageToken;
    }
  }
}

Errores

En la tabla a continuación se identifican los mensajes de error que la API podría mostrar en respuesta a una invocación a este método. Consulta la documentación sobre mensajes de error para obtener más información.

Tipo de error Detalle del error Descripción
forbidden channelForbidden El canal especificado por el parámetro id no admite la solicitud o esta no está debidamente autorizada.
notFound categoryNotFound No se puede encontrar la categoría identificada por el parámetro categoryId. Utiliza el método guideCategories.list para recuperar una lista de valores válidos.
notFound channelNotFound No se puede encontrar el canal especificado en el parámetro id.

¡Pruébalo!

Utiliza el Explorador de la API para invocar este método con datos en directo y ver la solicitud y la respuesta de la API.