Implementación: videos

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:

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 muchos indicadores 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. En el ranking de mostPopular, se incluyen videos musicales, películas y videojuegos populares.

Luego, puedes establecer los siguientes parámetros de forma opcional:

  • regionCode: Indica a la API que devuelva 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 el método i18nRegions.list para recuperar una lista de los 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 el método videoCategories.list para recuperar una lista de los IDs de categorías que admite YouTube.

Por ejemplo, la siguiente solicitud recupera los videos de deportes más populares en España:

https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.videos.list?
        part=snippet
        &chart=mostPopular
        &regionCode=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 los videos 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 correctamente autorizada.

La siguiente solicitud recupera las estadísticas de 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

Cómo subir un video

Dado que el Explorador de APIs no admite la capacidad de subir archivos, esta descripción no vincula 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 varios ejemplos 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á dirigida principalmente a los desarrolladores que no pueden usar las bibliotecas cliente de las APIs de Google, algunas de las cuales proporcionan compatibilidad nativa con las cargas reanudables.

  • En el ejemplo de JavaScript para subir un video, se usa CORS (uso compartido de recursos entre dominios) 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, el ejemplo muestra cómo verificar el estado de un video subido recuperando la parte processingDetails del recurso video, así como también cómo controlar los cambios de estado del video subido.

Cómo verificar 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 será visible en YouTube hasta que se procese.

  • Paso 1: Sube el video

    Llama al método videos.insert para subir el video. Si la solicitud se realiza correctamente, la respuesta de la API contendrá un recurso video que identifica el ID de video único del video subido.

  • Paso 2: Verifica el estado del video

    Llama al método videos.list para verificar el estado del video. Establece el valor del parámetro id en el ID de video que obtuviste en el paso 1. Establece el valor del parámetro part en processingDetails.

    Si la solicitud se controla correctamente, la respuesta de la API contendrá un recurso video. Verifica el valor de la propiedad processingDetails.processingStatus para determinar si YouTube aún está procesando el video. El valor de la propiedad cambiará a algo distinto de processing, como succeeded o failed, cuando YouTube termine de procesar el video.

    El cuerpo de la solicitud es un recurso video en el que la propiedad id especifica el ID del video que borrarás. En este ejemplo, el recurso también contiene un objeto recordingDetails.

    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á crear un boletín o continuar con otra acción según el 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 del video

    Sigue los pasos anteriores para recuperar los videos subidos del canal del usuario autenticado actualmente. La lista se podría usar para mostrar una lista de videos, con el ID de cada video como clave.

    Nota: Existen muchas otras formas de obtener IDs de videos, como recuperar resultados de la búsqueda o enumerar elementos en una playlist. Sin embargo, como solo el propietario de un video puede actualizarlo, recuperar una lista de los 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.update para actualizar un video específico. Establece el valor del parámetro part en recordingDetails. (El valor del parámetro depende de los campos de metadatos del video que se actualizan).

    El cuerpo de la solicitud es un recurso video en el que la propiedad id especifica el ID del video que estás actualizando. En este ejemplo, el recurso también contiene un objeto recordingDetails.

    El siguiente recurso de ejemplo 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

Sube una imagen de miniatura personalizada y configúrala 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 este no admite la capacidad de subir archivos multimedia, lo que es un requisito para este método.

Muestras de código relacionadas: PHP, Python

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 del video

    Sigue los pasos anteriores para recuperar los videos subidos del canal del usuario autenticado actualmente. La lista se podría usar para mostrar una lista de videos, con el ID de cada video como clave.

    Nota: Existen muchas otras formas de obtener IDs de videos, como recuperar resultados de la búsqueda o enumerar elementos en una playlist. Sin embargo, dado que solo el propietario de un video puede borrarlo, recuperar una lista de los videos que pertenecen al usuario que autoriza la solicitud a la API es un primer paso probable en este proceso.

  • Paso 2: Borra un video

    Llama al método videos.delete para borrar un video específico. En la solicitud, el parámetro id especifica el ID del video que borrarás. La solicitud debe autorizarse con OAuth 2.0. Si pruebas esta consulta en el Explorador de APIs, deberás sustituir un ID de video válido por el valor del parámetro id.

    https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.videos.delete?
            id=VIDEO_ID
    

Cómo denunciar 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.list para recuperar una lista de motivos válidos para marcar un video. El siguiente recurso videoAbuseReportReason de ejemplo contiene información para marcar un video que incluye 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 se asocia con una lista de motivos secundarios. Cuando marques un video por contener spam, deberás 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 videos.reportAbuse para denunciar el video. El cuerpo de la solicitud es un objeto JSON que identifica tanto el video que se marca como el motivo por el que se marca. Como se indicó en el paso 1, para algunos tipos de motivos, se admite y recomienda un motivo secundario.

    La propiedad videoId del objeto JSON identifica el video que se marca.

    El siguiente objeto JSON de ejemplo marca un video por contener spam o contenido engañoso y, más específicamente, por usar una imagen en miniatura engañosa. Como se muestra en el objeto JSON de ejemplo 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.reportAbuse debe autorizarse con OAuth 2.0. El siguiente vínculo carga el objeto JSON anterior en el Explorador de APIs. Para probar la consulta, debes sustituir un ID de video válido por el valor de la propiedad videoId. Recuerda que enviar esta solicitud marcará el video.

    https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.videos.reportAbuse