Usługa Statystyki YouTube

Usługa Statystyki YouTube umożliwia korzystanie z YouTube Analytics API w Apps Script. Ten interfejs API umożliwia użytkownikom pobieranie statystyk oglądania, danych o popularności i informacji demograficznych dotyczących filmów i kanałów w YouTube.

Dokumentacja

Szczegółowe informacje o tej usłudze znajdziesz w dokumentacji referencyjnej interfejsu YouTube Analytics API. Podobnie jak wszystkie usługi zaawansowane w Apps Script, usługa Statystyki YouTube korzysta z tych samych obiektów, metod i parametrów co publiczny interfejs API. Więcej informacji znajdziesz w artykule Jak określane są podpisy metod.

Przykładowy kod

Przykładowy kod poniżej korzysta z wersji 2 interfejsu YouTube Analytics API oraz wersji 3 interfejsu YouTube Data API, do których możesz uzyskać dostęp za pomocą usługi YouTube w Apps Script.

Aby zgłosić problemy i uzyskać inną pomoc, zapoznaj się z przewodnikiem po pomocy dotyczącej interfejsu YouTube API.

Utwórz raport

Ta funkcja tworzy arkusz kalkulacyjny zawierający dzienne liczby wyświetleń, dane dotyczące czasu oglądania i liczby nowych subskrybentów filmów na kanale.

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