Organiza tus páginas con colecciones Guarda y categoriza el contenido según tus preferencias.
El servicio de YouTube Analytics te permite usar la API de YouTube Analytics en Apps Script. Esta API permite a los usuarios recuperar estadísticas de vistas, métricas de popularidad y datos demográficos de los videos y canales de YouTube.
Referencia
Para obtener información detallada sobre este servicio, consulta la documentación de referencia de la API de YouTube Analytics. Al igual que todos los servicios avanzados de Apps Script, el servicio de YouTube Analytics usa los mismos objetos, métodos y parámetros que la API pública. Para obtener más información, consulta Cómo se determinan las firmas de métodos.
Código de muestra
El siguiente código de ejemplo usa la versión 2 de la API de YouTube Analytics, así como la versión 3 de la API de YouTube Data, a la que puedes acceder a través del servicio de YouTube en Apps Script.
Esta función crea una hoja de cálculo que contiene los recuentos de vistas diarias, las métricas de tiempo de reproducción y los recuentos de suscriptores nuevos de los videos de un canal.
/** * Creates a spreadsheet containing daily view counts, watch-time metrics, * and new-subscriber counts for a channel's videos. */functioncreateReport(){// Retrieve info about the user's YouTube channel.constchannels=YouTube.Channels.list('id,contentDetails',{mine:true});constchannelId=channels.items[0].id;// Retrieve analytics report for the channel.constoneMonthInMillis=1000*60*60*24*30;consttoday=newDate();constlastMonth=newDate(today.getTime()-oneMonthInMillis);constmetrics=['views','estimatedMinutesWatched','averageViewDuration','subscribersGained'];constresult=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;}constspreadsheet=SpreadsheetApp.create('YouTube Analytics Report');constsheet=spreadsheet.getActiveSheet();// Append the headers.constheaders=result.columnHeaders.map((columnHeader)=>{returnformatColumnName(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. */functionformatDateString(date){returnUtilities.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". */functionformatColumnName(columnName){letname=columnName.replace(/([a-z])([A-Z])/g,'$1 $2');name=name.slice(0,1).toUpperCase()+name.slice(1);returnname;}
[[["Fácil de comprender","easyToUnderstand","thumb-up"],["Resolvió mi problema","solvedMyProblem","thumb-up"],["Otro","otherUp","thumb-up"]],[["Falta la información que necesito","missingTheInformationINeed","thumb-down"],["Muy complicado o demasiados pasos","tooComplicatedTooManySteps","thumb-down"],["Desactualizado","outOfDate","thumb-down"],["Problema de traducción","translationIssue","thumb-down"],["Problema con las muestras o los códigos","samplesCodeIssue","thumb-down"],["Otro","otherDown","thumb-down"]],["Última actualización: 2025-08-04 (UTC)"],[[["\u003cp\u003eThe YouTube Analytics API allows you to access viewing statistics, popularity metrics, and demographic data for YouTube videos and channels within Apps Script.\u003c/p\u003e\n"],["\u003cp\u003eThis is an advanced service that requires enabling before use.\u003c/p\u003e\n"],["\u003cp\u003eThe provided sample code demonstrates how to create a spreadsheet report containing daily view counts, watch time, and subscriber data for a YouTube channel using the API.\u003c/p\u003e\n"],["\u003cp\u003eThe API utilizes the same objects, methods, and parameters as the public YouTube Analytics API, ensuring consistency and familiarity for developers.\u003c/p\u003e\n"],["\u003cp\u003eFor further support and issue reporting, refer to the YouTube API support guide.\u003c/p\u003e\n"]]],[],null,["The YouTube Analytics service allows you to use the\n[YouTube Analytics API](/youtube/analytics) in Apps Script. This API gives\nusers the ability to retrieve viewing statistics, popularity metrics, and\ndemographic information for YouTube videos and channels.\n| **Note:** This is an advanced service that must be [enabled before use](/apps-script/guides/services/advanced).\n\nReference\n\nFor detailed information on this service, see the\n[reference documentation](/youtube/analytics/reference) for the YouTube\nAnalytics API. Like all advanced services in Apps Script, the YouTube Analytics\nservice uses the same objects, methods, and parameters as the public API. For more information, see [How method signatures are determined](/apps-script/guides/services/advanced#how_method_signatures_are_determined).\n\nSample code\n\nThe sample code below uses [version 2](/youtube/analytics/reference) of the\nYouTube Analytics API, as well as [version 3](/youtube/v3/docs) of the YouTube\nData API, which you can access through the\n[YouTube service](/apps-script/advanced/youtube) in Apps Script.\n\nTo report issues and find other support, see the\n[YouTube API support guide](/youtube/v3/support).\n\nCreate report\n\nThis function creates a spreadsheet containing daily view counts,\nwatch-time metrics, and new-subscriber counts for a channel's videos. \nadvanced/youtubeAnalytics.gs \n[View on GitHub](https://github.com/googleworkspace/apps-script-samples/blob/main/advanced/youtubeAnalytics.gs) \n\n```gosu\n/**\n * Creates a spreadsheet containing daily view counts, watch-time metrics,\n * and new-subscriber counts for a channel's videos.\n */\nfunction createReport() {\n // Retrieve info about the user's YouTube channel.\n const channels = YouTube.Channels.list('id,contentDetails', {\n mine: true\n });\n const channelId = channels.items[0].id;\n\n // Retrieve analytics report for the channel.\n const oneMonthInMillis = 1000 * 60 * 60 * 24 * 30;\n const today = new Date();\n const lastMonth = new Date(today.getTime() - oneMonthInMillis);\n\n const metrics = [\n 'views',\n 'estimatedMinutesWatched',\n 'averageViewDuration',\n 'subscribersGained'\n ];\n const result = YouTubeAnalytics.Reports.query({\n ids: 'channel==' + channelId,\n startDate: formatDateString(lastMonth),\n endDate: formatDateString(today),\n metrics: metrics.join(','),\n dimensions: 'day',\n sort: 'day'\n });\n\n if (!result.rows) {\n console.log('No rows returned.');\n return;\n }\n const spreadsheet = SpreadsheetApp.create('YouTube Analytics Report');\n const sheet = spreadsheet.getActiveSheet();\n\n // Append the headers.\n const headers = result.columnHeaders.map((columnHeader)=\u003e {\n return formatColumnName(columnHeader.name);\n });\n sheet.appendRow(headers);\n\n // Append the results.\n sheet.getRange(2, 1, result.rows.length, headers.length)\n .setValues(result.rows);\n\n console.log('Report spreadsheet created: %s',\n spreadsheet.getUrl());\n}\n\n/**\n * Converts a Date object into a YYYY-MM-DD string.\n * @param {Date} date The date to convert to a string.\n * @return {string} The formatted date.\n */\nfunction formatDateString(date) {\n return Utilities.formatDate(date, Session.getScriptTimeZone(), 'yyyy-MM-dd');\n}\n\n/**\n * Formats a column name into a more human-friendly name.\n * @param {string} columnName The unprocessed name of the column.\n * @return {string} The formatted column name.\n * @example \"averageViewPercentage\" becomes \"Average View Percentage\".\n */\nfunction formatColumnName(columnName) {\n let name = columnName.replace(/([a-z])([A-Z])/g, '$1 $2');\n name = name.slice(0, 1).toUpperCase() + name.slice(1);\n return name;\n}\n```"]]