บริการ YouTube Analytics
จัดทุกอย่างให้เป็นระเบียบอยู่เสมอด้วยคอลเล็กชัน
บันทึกและจัดหมวดหมู่เนื้อหาตามค่ากำหนดของคุณ
บริการข้อมูลวิเคราะห์ YouTube ช่วยให้คุณใช้ YouTube Analytics API ใน Apps Script ได้ API นี้ช่วยให้ผู้ใช้สามารถดึงสถิติการดู เมตริกความนิยม และข้อมูลประชากรสำหรับวิดีโอและช่อง YouTube
ข้อมูลอ้างอิง
ดูข้อมูลโดยละเอียดเกี่ยวกับบริการนี้ได้ที่เอกสารอ้างอิงสำหรับ YouTube
Analytics API เช่นเดียวกับบริการขั้นสูงทั้งหมดใน Apps Script บริการข้อมูลวิเคราะห์ YouTube
ใช้ออบเจ็กต์ เมธอด และพารามิเตอร์เดียวกันกับ API สาธารณะ ดูข้อมูลเพิ่มเติมได้ที่วิธีกำหนดลายเซ็นของเมธอด
โค้ดตัวอย่าง
โค้ดตัวอย่างด้านล่างใช้ เวอร์ชัน 2 ของ
YouTube Analytics API รวมถึง เวอร์ชัน 3 ของ YouTube
Data API ซึ่งคุณเข้าถึงได้ผ่านบริการ YouTube ใน Apps Script
หากต้องการรายงานปัญหาและรับการสนับสนุนอื่นๆ โปรดดูคู่มือการสนับสนุน YouTube API
สร้างรายงาน
ฟังก์ชันนี้จะสร้างสเปรดชีตที่มีจำนวนยอดดูรายวัน
เมตริกเวลาในการรับชม และจำนวนผู้ติดตามใหม่สำหรับวิดีโอของช่อง
เนื้อหาของหน้าเว็บนี้ได้รับอนุญาตภายใต้ใบอนุญาตที่ต้องระบุที่มาของครีเอทีฟคอมมอนส์ 4.0 และตัวอย่างโค้ดได้รับอนุญาตภายใต้ใบอนุญาต Apache 2.0 เว้นแต่จะระบุไว้เป็นอย่างอื่น โปรดดูรายละเอียดที่นโยบายเว็บไซต์ Google Developers Java เป็นเครื่องหมายการค้าจดทะเบียนของ Oracle และ/หรือบริษัทในเครือ
อัปเดตล่าสุด 2025-08-31 UTC
[null,null,["อัปเดตล่าสุด 2025-08-31 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,["# YouTube Analytics Service\n\nThe 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---------\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-----------\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\n### Create 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```javascript\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```"]]