YouTube Reporting API - System-Managed Reports

YouTube genera automáticamente un conjunto de informes de ingresos por anuncios administrados por el sistema para los propietarios de contenido que tienen acceso a los informes correspondientes en Creator Studio. Estos informes están diseñados para proporcionar acceso programático a los datos que también están disponibles en informes descargables manualmente a los que puedes acceder en el menú Informes de YouTube Creator Studio.

Nota: La API proporciona acceso a un conjunto de informes diferente al de Creator Studio, aunque los informes contienen datos similares. Es posible que los informes de la API tengan campos diferentes y también usen nombres de campo distintos a los de los informes de Creator Studio.

Debido a que YouTube genera automáticamente informes administrados por el sistema, el proceso para recuperar estos informes es diferente del de los informes de datos masivos de YouTube Analytics disponibles a través de la API.

Cómo recuperar informes

Los siguientes pasos explican cómo recuperar informes administrados por el sistema a través de la API.

Paso 1: Recupera las credenciales de autorización

Se deben autorizar todas las solicitudes a la API de informes de YouTube. La guía de autorización explica cómo usar el protocolo OAuth 2.0 para recuperar tokens de autorización.

Las solicitudes a la API de informes de YouTube usan los siguientes alcances de autorización:

Permisos
https://www.googleapis.com/auth/yt-analytics.readonly Permite ver informes de YouTube Analytics sobre tu contenido de YouTube. Este alcance proporciona acceso a las métricas de actividad del usuario, como el número de reproducciones y de calificaciones.
https://www.googleapis.com/auth/yt-analytics-monetary.readonly Permite ver informes monetarios de YouTube Analytics sobre tu contenido de YouTube. Este alcance proporciona acceso a las métricas de actividad del usuario y a las métricas estimadas de ingresos y rendimiento de los anuncios.

Paso 2: Recupera el ID de trabajo del informe deseado.

Llama al método jobs.list para recuperar una lista de trabajos administrados por el sistema. Establece el parámetro includeSystemManaged en true.

La propiedad reportTypeId en cada recurso Job que se muestra identifica el tipo de informe administrado por el sistema asociado con ese trabajo. Tu aplicación necesita el valor de la propiedad id del mismo recurso en el siguiente paso.

El documento Informes enumera los informes disponibles, los IDs de su tipo de informe y los campos que contienen. También puedes utilizar el método reportTypes.list para recuperar una lista de los tipos de informes admitidos.

Paso 3: Recupera la URL de descarga del informe

Llama al método jobs.reports.list a fin de recuperar una lista de informes creados para el trabajo. En la solicitud, establece el parámetro jobId en el ID de tarea del informe que deseas recuperar.

Puedes filtrar la lista de informes con cualquiera de los siguientes parámetros o todos ellos:

  • Usa el parámetro createdAfter para indicar que la API solo debe mostrar informes creados después de un período especificado. Este parámetro se puede usar para garantizar que la API solo muestre informes que aún no hayas procesado.

  • Utiliza el parámetro startTimeBefore para indicar que la respuesta de la API solo debe contener informes si los primeros datos del informe son anteriores a la fecha especificada. Mientras que el parámetro createdAfter se refiere a la fecha en la que se creó el informe, esta fecha corresponde a los datos del informe.

  • Utiliza el parámetro startTimeAtOrAfter para indicar que la respuesta de la API solo debe contener informes si los primeros datos del informe se encuentran en la fecha especificada o después de ella. Al igual que el parámetro startTimeBefore, este valor del parámetro corresponde a los datos del informe y no a la hora en que se creó el informe.

La respuesta de la API contiene una lista de recursos Report para ese trabajo. Cada recurso hace referencia a un informe que contiene datos de un período único.

  • Las propiedades startTime y endTime del recurso identifican el período que abarcan los datos del informe.
  • La propiedad downloadUrl del recurso identifica la URL desde la que se puede recuperar el informe.

  • La propiedad createTime del recurso especifica la fecha y hora en las que se generó el informe. La aplicación debe almacenar este valor y utilizarlo para determinar si hubo cambios en los informes descargados anteriormente.

Paso 4: Descarga el informe

Envía una solicitud GET HTTP al elemento downloadUrl que obtuviste en el paso 4 para recuperar el informe.

Procesando informes

Prácticas recomendadas

Las aplicaciones que usan la API de informes de YouTube siempre deben seguir estas prácticas:

  • Utiliza la fila de encabezado de un informe para determinar el orden de las columnas del informe. Por ejemplo, no supongas que las vistas serán la primera métrica que se mostrará en un informe solo porque sea la primera que aparezca en la descripción. En su lugar, usa la fila de encabezado del informe para determinar qué columna contiene esos datos.

  • Mantén un registro de los informes que has descargado para evitar que se procese el mismo informe de forma reiterada. En la siguiente lista, se sugieren algunas formas de hacerlo.

    • Cuando llames al método reports.list, usa el parámetro createdAfter para recuperar solo los informes creados después de una fecha determinada. (Omite el parámetro createdAfter la primera vez que recuperas informes).

      Cada vez que recuperes y proceses correctamente los informes, almacena la marca de tiempo correspondiente a la fecha y hora en la que se creó el informe más reciente. Luego, actualiza el valor del parámetro createdAfter en cada llamada sucesiva al método reports.list para asegurarte de recuperar solo informes nuevos, incluidos los informes nuevos con datos reabastecidos, cada vez que llames a la API.

      Como medida de protección, antes de recuperar un informe, asegúrate de que el ID del informe no figure en tu base de datos.

    • Almacene el ID de cada informe que descargó y procesó. También puedes almacenar información adicional, como la fecha y hora en las que se generó cada informe o la startTime y la endTime del informe, que juntas identifican el período para el cual el informe contiene datos. Para los informes que recuperan datos masivos de YouTube Analytics, es probable que cada trabajo tenga muchos informes, ya que cada informe contiene datos para un período de 24 horas. Los trabajos administrados por el sistema que abarcan períodos más largos tendrán menos informes.

      Usa el ID de informe para identificar los informes que aún debes descargar e importar. Sin embargo, si dos informes nuevos tienen los mismos valores de propiedad startTime y endTime, solo importa el informe con el valor createTime más reciente.

Características del informe

Los informes de la API son archivos con versión .csv (valores separados por comas) que tienen las siguientes características:

  • Cada informe contiene datos de un período único que va desde las 12:00 a.m. (hora del Pacífico) de la fecha de inicio del informe hasta las 11:59 p.m. (hora del Pacífico) de la fecha de finalización del informe.

  • Los datos del informe no están ordenados.