En los siguientes ejemplos, se muestra cómo usar la API de YouTube Data (v3) para realizar funciones relacionadas con los videos.
Recupera los videos subidos de un canal
En este ejemplo, se recuperan los videos subidos a un canal en particular. El ejemplo tiene dos pasos:
-
Paso 1: Recupera el ID de la playlist de los videos subidos del canal
Llama al método
channels.listpara recuperar el ID de la playlist que contiene los videos subidos del canal. El valor del parámetropartde la solicitud debe incluircontentDetailscomo una de las partes del recursochannelque se recuperan. En la respuesta de la API, la propiedadcontentDetails.relatedPlaylists.uploadscontiene el ID de la playlist.Existen varias formas de identificar el canal:
-
Establece el valor del parámetro
mineentruepara recuperar información del canal de YouTube del usuario autenticado actualmente. Tu solicitud debe autorizarse con OAuth 2.0.https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.channels.list? part=contentDetails &mine=true
-
Establece el parámetro
forUsernameen un nombre de usuario de YouTube para recuperar información del canal asociado con ese nombre de usuario. En este ejemplo, se establece el valor del parámetroforUsernameenGooglepara recuperar información del canal oficial de YouTube de Google.https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.channels.list? part=contentDetails &forUsername=Google
-
Establece el parámetro
iden el ID del canal de YouTube que identifica de forma única el canal para el que recuperas información. En este ejemplo, se establece el parámetroidenUCK8sQmJBp8GCxrOtXWBpyEA, que también identifica el canal oficial de YouTube de Google.https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.channels.list? part=contentDetails &id=UCK8sQmJBp8GCxrOtXWBpyEA
-
-
Paso 2: Recupera la lista de videos subidos
Llama al método
playlistItems.listpara recuperar la lista de videos subidos. Establece el valor del parámetroplaylistIden el valor obtenido en el paso 1. En este ejemplo, el valor del parámetro se establece enUUK8sQmJBp8GCxrOtXWBpyEA, que es la lista de videos subidos al canal oficial de YouTube de Google.https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.playlistItems.list? part=snippet,contentDetails,status &playlistId=UUK8sQmJBp8GCxrOtXWBpyEA
Recupera los videos más populares
En este ejemplo, se muestra cómo recuperar una lista de los videos más populares de YouTube, que se seleccionan con un algoritmo que combina muchas señales diferentes para determinar la popularidad general.
Para recuperar la lista de videos más populares, llama al método videos.list y establece el valor del parámetro chart en mostPopular.
El gráfico mostPopular incluye videos musicales, películas y videojuegos populares.
Luego, puedes establecer los siguientes parámetros de forma opcional:
regionCode: Indica a la API que muestre una lista de videos para la región especificada. El valor del parámetro es un código de país ISO 3166-1 alpha-2. Puedes usar eli18nRegions.listmétodo para recuperar una lista de códigos de región que admite YouTube.videoCategoryId: Identifica la categoría de video para la que se deben recuperar los videos más populares. Puedes usar elvideoCategories.listmétodo para recuperar una lista de IDs de categorías que admite YouTube.
Por ejemplo, la siguiente solicitud recupera los videos deportivos más populares en España:
https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.videos.list? part=snippet &chart=mostPopular ®ionCode=es &videoCategoryId=17
Recupera estadísticas de videos por lotes
En este ejemplo, se recuperan estadísticas para una lista de videos con el método videos.batchGetStats.
Para usar este método, establece el parámetro id de la solicitud en una lista separada por comas de los IDs de video de YouTube para los que deseas recuperar estadísticas. Establece el valor del parámetro part en una lista separada por comas de las partes del recurso videoStat que deseas que incluya la respuesta. Las partes admitidas son snippet, statistics, contentDetails y id.
Se requiere autenticación para usar este método en videos no públicos, pero no para videos públicos. Si la solicitud recupera datos de videos no públicos, debe estar autorizada correctamente.
La siguiente solicitud recupera estadísticas para los IDs de video VIDEO_ID_1 y VIDEO_ID_2:
https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.videos.batchGetStats? part=snippet,statistics &id=VIDEO_ID_1,VIDEO_ID_2
Subir un video
Como el Explorador de APIs no admite la capacidad de subir archivos, esta descripción no incluye un vínculo a un ejemplo ejecutable. Los siguientes recursos te ayudarán a modificar tu aplicación para que pueda subir videos con la API v3:
-
La documentación del método videos.insert de la API contiene varias muestras de código que explican cómo subir un video con diferentes lenguajes de programación.
-
En la guía de cargas reanudables, se explica la secuencia de solicitudes HTTP que usa una aplicación para subir videos con un proceso de carga reanudable. La guía está destinada principalmente a desarrolladores que no pueden usar las bibliotecas cliente de las APIs de Google, algunas de las cuales proporcionan compatibilidad nativa para cargas reanudables.
-
En el ejemplo de JavaScript para subir un video, se usa CORS (uso compartido de recursos de origen cruzado) para demostrar cómo subir un archivo de video a través de una página web. La biblioteca de carga de CORS que usa la API v3 admite de forma natural la carga reanudable. Además, en el ejemplo, se muestra cómo verificar el estado de un video subido recuperando la parte
processingDetailsdel recursovideo, así como también cómo controlar los cambios de estado del video subido.
Verifica el estado de un video subido
En este ejemplo, se muestra cómo verificar el estado de un video subido. Un video subido se mostrará de inmediato en el feed de videos subidos del usuario autenticado. Sin embargo, el video no se mostrará en YouTube hasta que se procese.
-
Paso 1: Sube el video
Llama al método
videos.insertpara subir el video. Si la solicitud se realiza correctamente, la respuesta de la API contendrá un recursovideoque identifica el ID de video único del video subido. -
Paso 2: Verifica el estado del video
Llama al método
videos.listpara verificar el estado del video. Establece el valor del parámetroiden el ID de video obtenido en el paso 1. Establece el valor del parámetropartenprocessingDetails.Si la solicitud se controla correctamente, la respuesta de la API contendrá un recurso
video. Verifica el valor de la propiedadprocessingDetails.processingStatuspara determinar si YouTube aún está procesando el video. El valor de la propiedad cambiará a un valor distinto deprocessing, comosucceededofailed, cuando YouTube termine de procesar el video.El cuerpo de la solicitud es un recurso
videoen el que la propiedadidespecifica el ID de video del video que borras. En este ejemplo, el recurso también contiene un objetorecordingDetails.La siguiente solicitud verifica el estado de un video. Para completar la solicitud en el Explorador de APIs, debes establecer el valor de la propiedad
id.https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.videos.list? part=snippet,processingDetails &id=VIDEO_ID
Nota: Tu aplicación podría sondear la API para verificar periódicamente el estado de un video recién subido. Una vez que se procese el video, tu aplicación podría crear un boletín o continuar con otra acción que dependa del estado del video.
Actualizar un video
En este ejemplo, se muestra cómo actualizar un video para agregar información sobre la hora y el lugar en el que se grabó. El ejemplo tiene los siguientes pasos:
-
Paso 1: Recupera el ID de video
Sigue los pasos anteriores para recuperar los videos subidos del canal del usuario autenticado actualmente. La lista se puede usar para mostrar una lista de videos, usando el ID de cada video como clave.
Nota: Existen muchas otras formas de obtener IDs de video, como recuperar resultados de la búsqueda o enumerar elementos en una playlist. Sin embargo, como solo el propietario puede actualizar un video, recuperar una lista de videos que pertenecen al usuario que autoriza la solicitud a la API es un primer paso probable en este proceso.
-
Paso 2: Actualiza un video
Llama al método
videos.updatepara actualizar un video específico. Establece el valor del parámetropartenrecordingDetails. (El valor del parámetro depende de los campos de metadatos del video que se actualizan).El cuerpo de la solicitud es un recurso
videoen el que la propiedadidespecifica el ID de video del video que actualizas. En este ejemplo, el recurso también contiene un objetorecordingDetails.El siguiente recurso de muestra indica que el video se grabó el 30 de octubre de 2013 en Boston:
{ "id": "VIDEO_ID", "recordingDetails": { "location": { "latitude": "42.3464", "longitude": "-71.0975" } "recordingDate": "2013-10-30T23:15:00.000Z" } }Para completar la solicitud en el Explorador de APIs, debes establecer el valor de la propiedad
id.https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.videos.update? part=snippet
Administra el acceso para socios de marca (acceso para socios de marca iniciado por el creador)
El acceso para socios de marca iniciado por el creador (CI BPA) permite que el propietario de un video comparta el acceso a su video con un canal de socio de marca. Esto requiere la parte brandPartner.
Establece el acceso (Insertar)
Para establecer el acceso cuando subas un video, incluye brandPartner en el parámetro part y proporciona un objeto brandPartner en el cuerpo de la solicitud. Debes especificar channelId (ID de canal externo que comienza con "UC") o channelHandle (que comienza con "@") para identificar el canal de la marca.
POST /youtube/v3/videos?part=snippet,status,brandPartner { "snippet": { "title": "Video Title", "description": "Video Description", "categoryId": "22" }, "status": { "privacyStatus": "private" }, "brandPartner": { "channelHandle": "@brandchannel" } }
Solo se mostrará el channelId resuelto en la respuesta.
Actualiza o quita el acceso (Actualizar)
Para actualizar el acceso a un canal de marca diferente o quitar el acceso, llama al método videos.update con brandPartner en el parámetro part.
Para reemplazar el acceso, proporciona el nuevo channelId o channelHandle en el cuerpo de la solicitud:
PUT /youtube/v3/videos?part=brandPartner
{
"id": "VIDEO_ID",
"brandPartner": {
"channelId": "UC_SOME_BRAND_CHANNEL_ID"
}
}Para quitar el acceso, envía una solicitud con brandPartner en el parámetro part, pero con un objeto brandPartner vacío en el cuerpo de la solicitud:
PUT /youtube/v3/videos?part=brandPartner
{
"id": "VIDEO_ID",
"brandPartner": {}
}Sube una imagen de miniatura personalizada y establécela para un video
Puedes usar el método thumbnails.set de la API v3 para subir una imagen de miniatura personalizada y establecerla para un video. En tu solicitud, el valor del parámetro videoId identifica el video para el que se usará la miniatura.
Esta consulta no se puede probar con el Explorador de APIs porque no admite la capacidad de subir archivos multimedia, lo que es un requisito para este método.
Cómo borrar un video
En este ejemplo, se muestra cómo borrar un video. El ejemplo tiene los siguientes pasos:
-
Paso 1: Recupera el ID de video
Sigue los pasos anteriores para recuperar los videos subidos del canal del usuario autenticado actualmente. La lista se puede usar para mostrar una lista de videos, usando el ID de cada video como clave.
Nota: Existen muchas otras formas de obtener IDs de video, como recuperar resultados de la búsqueda o enumerar elementos en una playlist. Sin embargo, como solo el propietario puede borrar un video, recuperar una lista de videos que pertenecen al usuario que autoriza la solicitud de la API es un primer paso probable en este proceso.
-
Paso 2: Borra un video
Llama al método
videos.deletepara borrar un video específico. En la solicitud, el parámetroidespecifica el ID de video del video que borras. La solicitud debe autorizarse con OAuth 2.0. Si pruebas esta consulta en el Explorador de APIs, deberás reemplazar un ID de video válido por el valor del parámetroid.https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.videos.delete? id=VIDEO_ID
Denuncia un video abusivo
En este ejemplo, se muestra cómo denunciar un video que contiene contenido abusivo. El ejemplo tiene los siguientes pasos:
-
Paso 1: Recupera los IDs que explican por qué se denuncia el video
Envía una solicitud autorizada al método
videoAbuseReportReasons.listpara recuperar una lista de motivos válidos para marcar un video. El siguiente recurso de muestravideoAbuseReportReasoncontiene información para marcar un video que contiene spam o contenido engañoso.{ "kind": "youtube#videoAbuseReportReason", "etag": "\"tbWC5XrSXxe1WOAx6MK9z4hHSU8/Or2VqBIilpHU7j__oPzUFCvGVBw\"", "id": "S", "snippet": { "label": "Spam or misleading", "secondaryReasons": [ { "id": "27", "label": "Spam or mass advertising" }, { "id": "28", "label": "Misleading thumbnail" }, { "id": "29", "label": "Malware or phishing" }, { "id": "30", "label": "Pharmaceutical drugs for sale" }, { "id": "31", "label": "Other misleading info" } ] } }Como se muestra en el recurso, este motivo está asociado con una lista de motivos secundarios. Cuando marcas un video por contener spam, debes proporcionar el ID del motivo y te recomendamos que también proporciones un motivo secundario.
-
Paso 2: Marca el video por contenido abusivo
Envía una solicitud autorizada al método
La propiedadvideos.reportAbusepara denunciar el video. El cuerpo de la solicitud es un objeto JSON que identifica el video que se marca y el motivo por el que se marca. Como se indicó en el paso 1, para algunos tipos de motivos, se admite y se recomienda un motivo secundario.videoIddel objeto JSON identifica el video que se marca.En el siguiente objeto JSON de muestra, se marca un video por contener spam o contenido engañoso y, más específicamente, por usar una imagen de miniatura engañosa. Como se muestra en el objeto JSON de muestra anterior, el ID del contenido spam o engañoso es S. El ID de una miniatura engañosa es 28.
{ "videoId": "VIDEO_ID", "reasonId": "S", "secondaryReasonId": "28", "comments": "Testing the video flagging feature.", "language": "en" }La solicitud
videos.reportAbusedebe autorizarse con OAuth 2.0. El siguiente vínculo carga el objeto JSON anterior en el Explorador de APIs. Para probar la consulta, debes reemplazar un ID de video válido por el valor de la propiedadvideoId. Recuerda que, si envías esta solicitud, se marcará el video.https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.videos.reportAbuse