Serviço YouTube Analytics

O serviço YouTube Analytics permite usar a API YouTube Analytics no Apps Script. Essa API permite que os usuários recuperem estatísticas de visualização, métricas de popularidade e informações demográficas de vídeos e canais do YouTube.

Referência

Para informações detalhadas sobre esse serviço, consulte a documentação de referência da API YouTube Analytics. Assim como todos os serviços avançados no Apps Script, o serviço do YouTube Analytics usa os mesmos objetos, métodos e parâmetros que a API pública. Para mais informações, consulte Como as assinaturas de método são determinadas.

Código de amostra

O código de amostra abaixo usa a versão 2 da API YouTube Analytics e a versão 3 da API YouTube Data, que pode ser acessada pelo serviço do YouTube no Apps Script.

Para informar problemas e encontrar outros tipos de suporte, consulte o guia de suporte da API do YouTube.

Criar relatório

Essa função cria uma planilha com contagens diárias de visualizações, métricas de tempo de exibição e contagens de novos inscritos nos vídeos de um canal.

advanced/youtubeAnalytics.gs
/**  * Creates a spreadsheet containing daily view counts, watch-time metrics,  * and new-subscriber counts for a channel's videos.  */ function createReport() {   // Retrieve info about the user's YouTube channel.   const channels = YouTube.Channels.list('id,contentDetails', {     mine: true   });   const channelId = channels.items[0].id;    // Retrieve analytics report for the channel.   const oneMonthInMillis = 1000 * 60 * 60 * 24 * 30;   const today = new Date();   const lastMonth = new Date(today.getTime() - oneMonthInMillis);    const metrics = [     'views',     'estimatedMinutesWatched',     'averageViewDuration',     'subscribersGained'   ];   const result = YouTubeAnalytics.Reports.query({     ids: 'channel==' + channelId,     startDate: formatDateString(lastMonth),     endDate: formatDateString(today),     metrics: metrics.join(','),     dimensions: 'day',     sort: 'day'   });    if (!result.rows) {     console.log('No rows returned.');     return;   }   const spreadsheet = SpreadsheetApp.create('YouTube Analytics Report');   const sheet = spreadsheet.getActiveSheet();    // Append the headers.   const headers = result.columnHeaders.map((columnHeader)=> {     return formatColumnName(columnHeader.name);   });   sheet.appendRow(headers);    // Append the results.   sheet.getRange(2, 1, result.rows.length, headers.length)       .setValues(result.rows);    console.log('Report spreadsheet created: %s',       spreadsheet.getUrl()); }  /**  * Converts a Date object into a YYYY-MM-DD string.  * @param {Date} date The date to convert to a string.  * @return {string} The formatted date.  */ function formatDateString(date) {   return Utilities.formatDate(date, Session.getScriptTimeZone(), 'yyyy-MM-dd'); }  /**  * Formats a column name into a more human-friendly name.  * @param {string} columnName The unprocessed name of the column.  * @return {string} The formatted column name.  * @example "averageViewPercentage" becomes "Average View Percentage".  */ function formatColumnName(columnName) {   let name = columnName.replace(/([a-z])([A-Z])/g, '$1 $2');   name = name.slice(0, 1).toUpperCase() + name.slice(1);   return name; }