Служба аналитики YouTube

Сервис YouTube Analytics позволяет использовать API YouTube Analytics в Apps Script. Этот API позволяет пользователям получать статистику просмотров, показатели популярности и демографическую информацию о видео и каналах YouTube.

Ссылка

Подробную информацию об этом сервисе см. в справочной документации по API YouTube Analytics. Как и все расширенные сервисы в Apps Script, сервис YouTube Analytics использует те же объекты, методы и параметры, что и общедоступный API. Подробнее см. в статье «Как определяются сигнатуры методов» .

Пример кода

В примере кода ниже используется версия 2 API YouTube Analytics, а также версия 3 API YouTube Data, доступ к которым можно получить через службу YouTube в Apps Script.

Чтобы сообщить о проблемах и найти другую поддержку, см. руководство по поддержке API YouTube .

Создать отчет

Эта функция создает электронную таблицу, содержащую количество ежедневных просмотров, показатели времени просмотра и количество новых подписчиков для видео канала.

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; }