{"id":16856,"date":"2024-12-21T20:29:42","date_gmt":"2024-12-21T11:29:42","guid":{"rendered":"https:\/\/84office.jp\/?p=16856"},"modified":"2024-12-21T20:29:43","modified_gmt":"2024-12-21T11:29:43","slug":"gas-youtube-data-acquisition","status":"publish","type":"post","link":"https:\/\/84office.jp\/en\/gas-youtube-data-acquisition\/","title":{"rendered":"How to Use the YouTube API to Fetch Video Data in Google Sheets: Automate with Google Apps Script!"},"content":{"rendered":"<div class=\"codoc-evacuations\" style=\"display:none;\" data-shortcode=\"\"><\/div>\n<p>n this article, I\u2019ll show you how to use the <a href=\"https:\/\/84office.jp\/en\/get-youtube-data-api\/\">API key set up<\/a> in the previous post and leverage Google Apps Script (GAS) to compile YouTube video information into a Google Sheet.<\/p>\n\n\n\n<p>By using the YouTube API, you can easily analyze your own channel or compile video information from your favorite channels into a Google Sheet.<\/p>\n\n\n\n<p class=\"u-mb-ctrl u-mb-40\">Manual input is no longer required, and data such as video title, release date, channel title, and video URL can be efficiently retrieved.<\/p>\n\n\n<div class=\"swell-block-postLink u-mb-ctrl u-mb-60\">\t\t\t<div class=\"p-blogCard -external\" data-type=\"type3\" data-onclick=\"clickLink\">\n\t\t\t\t<div class=\"p-blogCard__inner\">\n\t\t\t\t\t<span class=\"p-blogCard__caption\">\u5408\u540c\u4f1a\u793e\u6a4b\u722a\u30aa\u30d5\u30a3\u30b9<\/span>\n\t\t\t\t\t<div class=\"p-blogCard__thumb c-postThumb\"><figure class=\"c-postThumb__figure\"><img decoding=\"async\" src=\"https:\/\/84office.jp\/wp-content\/uploads\/2024\/12\/2e50637a1d40175ef3385963e05ec2a8.png\" alt=\"\" class=\"c-postThumb__img u-obf-cover\" width=\"320\" height=\"180\"><\/figure><\/div>\t\t\t\t\t<div class=\"p-blogCard__body\">\n\t\t\t\t\t\t<a class=\"p-blogCard__title\" href=\"https:\/\/84office.jp\/en\/get-youtube-data-api\/\" target=\"_blank\" rel=\"noopener noreferrer\">YouTube API Key Setup: Export and Manage Video Data in Google Sheets | \u5408\u540c\u4f1a\u793e\u6a4b\u722a\u30aa\u30d5\u30a3\u30b9<\/a>\n\t\t\t\t\t\t<span class=\"p-blogCard__excerpt\">To retrieve video data and channel information from YouTube and manage it in Google Sheets, the YouTube API is a powerfu<\/span>\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t<\/div>\n\n\n<h2 class=\"wp-block-heading\">Completed image<\/h2>\n\n\n\n<figure class=\"wp-block-image size-large u-mb-ctrl u-mb-30\"><img decoding=\"async\" width=\"1024\" height=\"254\" src=\"https:\/\/84office.jp\/wp-content\/uploads\/2024\/12\/image-97-1024x254.png\" alt=\"\" class=\"wp-image-16863\" srcset=\"https:\/\/84office.jp\/wp-content\/uploads\/2024\/12\/image-97-1024x254.png 1024w, https:\/\/84office.jp\/wp-content\/uploads\/2024\/12\/image-97-300x74.png 300w, https:\/\/84office.jp\/wp-content\/uploads\/2024\/12\/image-97-768x191.png 768w, https:\/\/84office.jp\/wp-content\/uploads\/2024\/12\/image-97-1536x381.png 1536w, https:\/\/84office.jp\/wp-content\/uploads\/2024\/12\/image-97-2048x509.png 2048w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"has-border -border02 has-swl-pale-03-background-color has-background\">Listed in a spreadsheet based on the specified channel ID and number of videos<\/p>\n\n\n\n<p><br>Basic information about each video is listed in a spreadsheet for easy visual understanding and organization.<\/p>\n\n\n\n<h2 class=\"wp-block-heading u-mb-ctrl u-mb-30\">Prepare YouTube API Key<\/h2>\n\n\n\n<p class=\"u-mb-ctrl u-mb-30\">Obtain a YouTube Data API v3 API key and set it to a script property.<\/p>\n\n\n\n<p class=\"u-mb-ctrl u-mb-30\">Script Property Name Example: <code>\"YOUTUBE_DATA_API_KEY\"<\/code><\/p>\n\n\n<div class=\"swell-block-postLink u-mb-ctrl u-mb-60\">\t\t\t<div class=\"p-blogCard -external\" data-type=\"type3\" data-onclick=\"clickLink\">\n\t\t\t\t<div class=\"p-blogCard__inner\">\n\t\t\t\t\t<span class=\"p-blogCard__caption\">\u5408\u540c\u4f1a\u793e\u6a4b\u722a\u30aa\u30d5\u30a3\u30b9<\/span>\n\t\t\t\t\t<div class=\"p-blogCard__thumb c-postThumb\"><figure class=\"c-postThumb__figure\"><img decoding=\"async\" src=\"https:\/\/84office.jp\/wp-content\/uploads\/2024\/12\/2e50637a1d40175ef3385963e05ec2a8.png\" alt=\"\" class=\"c-postThumb__img u-obf-cover\" width=\"320\" height=\"180\"><\/figure><\/div>\t\t\t\t\t<div class=\"p-blogCard__body\">\n\t\t\t\t\t\t<a class=\"p-blogCard__title\" href=\"https:\/\/84office.jp\/en\/get-youtube-data-api\/\">YouTube API Key Setup: Export and Manage Video Data in Google Sheets | \u5408\u540c\u4f1a\u793e\u6a4b\u722a\u30aa\u30d5\u30a3\u30b9<\/a>\n\t\t\t\t\t\t<span class=\"p-blogCard__excerpt\">To retrieve video data and channel information from YouTube and manage it in Google Sheets, the YouTube API is a powerfu<\/span>\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t<\/div>\n\n\n<h2 class=\"wp-block-heading\">Steps<\/h2>\n\n\n\n<div class=\"swell-block-step u-mb-ctrl u-mb-60\" data-num-style=\"circle\">\n<div class=\"swell-block-step__item\"><div class=\"swell-block-step__number u-bg-main\"><span class=\"__label\">STEP<\/span><\/div><div class=\"swell-block-step__title u-fz-l\">Preparing Spreadsheets<\/div><div class=\"swell-block-step__body\"><div class=\"wp-block-image u-mb-ctrl u-mb-40\">\n<figure class=\"alignleft size-large\"><img decoding=\"async\" width=\"1024\" height=\"151\" src=\"https:\/\/84office.jp\/wp-content\/uploads\/2024\/12\/image-95-1024x151.png\" alt=\"\" class=\"wp-image-16858\" srcset=\"https:\/\/84office.jp\/wp-content\/uploads\/2024\/12\/image-95-1024x151.png 1024w, https:\/\/84office.jp\/wp-content\/uploads\/2024\/12\/image-95-300x44.png 300w, https:\/\/84office.jp\/wp-content\/uploads\/2024\/12\/image-95-768x113.png 768w, https:\/\/84office.jp\/wp-content\/uploads\/2024\/12\/image-95-1536x226.png 1536w, https:\/\/84office.jp\/wp-content\/uploads\/2024\/12\/image-95-2048x302.png 2048w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n<\/div>\n\n\n<p>Enter the YouTube Channel ID in cell <strong>B1<\/strong>.<\/p>\n\n\n\n<p>In cell <strong>B2<\/strong>, enter the starting position, and in cell <strong>B3<\/strong>, enter the ending position to retrieve data.<\/p>\n\n\n\n<p class=\"u-mb-ctrl u-mb-30\">For example, if you set it to 1\u201310, the script will retrieve the 10 most recent videos.<\/p>\n\n\n\n<p>The sheet is referenced as &#8220;Video Information&#8221; during script execution.<\/p>\n\n\n\n<p class=\"u-mb-ctrl u-mb-30\">Modify the sheet name as needed.<\/p>\n\n\n\n<p>In row 5, enter the following items as headers:<\/p>\n\n\n\n<p>Header Items (Example):<\/p>\n\n\n\n<figure class=\"wp-block-table is-all-centered u-mb-ctrl u-mb-40\"><table><thead style=\"--thead-color--bg:var(--color_pale03);--thead-color--txt:var(--swl-text_color--black)\"><tr><th colspan=\"2\">\u5165\u529b\u5185\u5bb9<\/th><\/tr><\/thead><tbody><tr><td>A5<\/td><td>Video ID<\/td><\/tr><tr><td>B5<\/td><td>Title<\/td><\/tr><tr><td>C5<\/td><td>Published Date<\/td><\/tr><tr><td>D5<\/td><td>Thumbnail Image<\/td><\/tr><tr><td>E5<\/td><td>Channel Title<\/td><\/tr><tr><td>F5<\/td><td>View Count<\/td><\/tr><tr><td>G5<\/td><td>Like Count<\/td><\/tr><tr><td>H5<\/td><td>Video Duration<\/td><\/tr><tr><td>I5<\/td><td>Video URL<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n\n<\/div><\/div>\n\n\n\n<div class=\"swell-block-step__item\"><div class=\"swell-block-step__number u-bg-main\"><span class=\"__label\">STEP<\/span><\/div><div class=\"swell-block-step__title u-fz-l\">Open Apps Script Editor<\/div><div class=\"swell-block-step__body\"><div class=\"wp-block-image u-mb-ctrl u-mb-40\">\n<figure class=\"alignleft size-full is-resized\"><img decoding=\"async\" width=\"933\" height=\"591\" src=\"https:\/\/84office.jp\/wp-content\/uploads\/2024\/12\/98efceb7a335447039dff05eb8d70d3d.png\" alt=\"\" class=\"wp-image-16537\" style=\"width:447px;height:auto\" srcset=\"https:\/\/84office.jp\/wp-content\/uploads\/2024\/12\/98efceb7a335447039dff05eb8d70d3d.png 933w, https:\/\/84office.jp\/wp-content\/uploads\/2024\/12\/98efceb7a335447039dff05eb8d70d3d-300x190.png 300w, https:\/\/84office.jp\/wp-content\/uploads\/2024\/12\/98efceb7a335447039dff05eb8d70d3d-768x486.png 768w\" sizes=\"(max-width: 933px) 100vw, 933px\" \/><\/figure>\n<\/div>\n\n\n<p>Open a Google Spreadsheet and click on \u201c<strong>Extensions<\/strong>\u201d in the menu, then \u201c<strong>Apps Script<\/strong>\u201d to open the Apps Script editor.<\/p>\n<\/div><\/div>\n\n\n\n<div class=\"swell-block-step__item\"><div class=\"swell-block-step__number u-bg-main\"><span class=\"__label\">STEP<\/span><\/div><div class=\"swell-block-step__title u-fz-l\"><strong>Create the Script<\/strong><\/div><div class=\"swell-block-step__body\"><div class=\"wp-block-image u-mb-ctrl u-mb-40\">\n<figure class=\"alignleft size-large\"><img decoding=\"async\" width=\"1024\" height=\"472\" src=\"https:\/\/84office.jp\/wp-content\/uploads\/2024\/11\/e5e524d3405a7a1c3cfaaf3f2b1cc662-1024x472.png\" alt=\"\" class=\"wp-image-16191\" srcset=\"https:\/\/84office.jp\/wp-content\/uploads\/2024\/11\/e5e524d3405a7a1c3cfaaf3f2b1cc662-1024x472.png 1024w, https:\/\/84office.jp\/wp-content\/uploads\/2024\/11\/e5e524d3405a7a1c3cfaaf3f2b1cc662-300x138.png 300w, https:\/\/84office.jp\/wp-content\/uploads\/2024\/11\/e5e524d3405a7a1c3cfaaf3f2b1cc662-768x354.png 768w, https:\/\/84office.jp\/wp-content\/uploads\/2024\/11\/e5e524d3405a7a1c3cfaaf3f2b1cc662.png 1387w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n<\/div>\n\n\n<p>function myFunction(){<\/p>\n\n\n\n<p>}<\/p>\n\n\n\n<p class=\"u-mb-ctrl u-mb-40\">is included from the beginning, so delete it and paste the previous script.<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span role=\"button\" tabindex=\"0\" data-code=\"function fetchAndWriteYouTubeData() {\n    var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName(&quot;Video Information&quot;);\n    if (!sheet) {\n        Logger.log(&quot;Sheet 'Video Information' not found.&quot;);\n        return;\n    }\n\n    \/\/ Retrieve the API key from script properties\n    var apiKey = PropertiesService.getScriptProperties().getProperty('YOUTUBE_DATA_API_KEY');\n    Logger.log(&quot;API Key: &quot; + apiKey);\n    \n    \/\/ Retrieve the channel ID from cell B1\n    var channelId = sheet.getRange(&quot;B1&quot;).getValue();\n    Logger.log(&quot;Channel ID: &quot; + channelId);\n    \n    \/\/ Retrieve the range from cells B2 and B3\n    var startIndex = parseInt(sheet.getRange(&quot;B2&quot;).getValue()) || 1;\n    var endIndex = parseInt(sheet.getRange(&quot;B3&quot;).getValue()) || 10;\n    var maxResults = Math.min(endIndex - startIndex + 1, 100);\n    Logger.log(`Start Index: ${startIndex}, End Index: ${endIndex}`);\n\n    \/\/ YouTube Data API URL\n    var baseUrl = `https:\/\/www.googleapis.com\/youtube\/v3\/search?key=${apiKey}&amp;channelId=${channelId}&amp;part=snippet&amp;order=date&amp;type=video&amp;maxResults=100`;\n    \n    var videos = []; \/\/ Store video data\n    var nextPageToken = '';\n    var totalFetched = 0;\n\n    \/\/ Use pagination to fetch video data\n    while (nextPageToken !== null &amp;&amp; totalFetched &lt; endIndex) {\n        var url = baseUrl + (nextPageToken ? `&amp;pageToken=${nextPageToken}` : '');\n        var response = UrlFetchApp.fetch(url);\n        var data = JSON.parse(response.getContentText());\n        if (!data.items) {\n            Logger.log(&quot;No data retrieved.&quot;);\n            break;\n        }\n\n        videos = videos.concat(data.items);\n        totalFetched += data.items.length;\n\n        nextPageToken = data.nextPageToken || null;\n        Logger.log(`Fetched ${data.items.length} videos, Total fetched: ${totalFetched}`);\n    }\n\n    \/\/ Extract the required range and retrieve video IDs\n    var videoIds = videos.slice(startIndex - 1, endIndex).map(item =&gt; item.id.videoId).join(',');\n\n    \/\/ Fetch detailed information (view count, likes, duration) using the videos endpoint\n    var detailsUrl = `https:\/\/www.googleapis.com\/youtube\/v3\/videos?key=${apiKey}&amp;id=${videoIds}&amp;part=snippet,contentDetails,statistics`;\n    var detailsResponse = UrlFetchApp.fetch(detailsUrl);\n    var detailsData = JSON.parse(detailsResponse.getContentText());\n\n    \/\/ Get the next row to write data\n    var lastRow = sheet.getLastRow();\n\n    \/\/ Write data to the spreadsheet\n    detailsData.items.forEach(function(item, index) {\n        var videoId = item.id;\n        var title = item.snippet.title;\n        var publishedAt = item.snippet.publishedAt;\n        var thumbnailUrl = item.snippet.thumbnails.default.url; \/\/ Default thumbnail URL\n        var channelTitle = item.snippet.channelTitle;\n        var viewCount = item.statistics.viewCount;\n        var likeCount = item.statistics.likeCount;\n        var videoUrl = `https:\/\/www.youtube.com\/watch?v=${videoId}`;\n\n        \/\/ Format the video duration from ISO 8601\n        var duration = formatDuration(item.contentDetails.duration);\n\n        Logger.log(`Writing to row ${lastRow + index + 1}: ${title}`);\n\n        sheet.getRange(lastRow + index + 1, 1).setValue(videoId);         \/\/ Column A: Video ID\n        sheet.getRange(lastRow + index + 1, 2).setValue(title);           \/\/ Column B: Title\n        sheet.getRange(lastRow + index + 1, 3).setValue(publishedAt);     \/\/ Column C: Publish Date\n        sheet.getRange(lastRow + index + 1, 4).setFormula(`=IMAGE(&quot;${thumbnailUrl}&quot;)`); \/\/ Column D: Thumbnail\n        sheet.getRange(lastRow + index + 1, 5).setValue(channelTitle);    \/\/ Column E: Channel Title\n        sheet.getRange(lastRow + index + 1, 6).setValue(viewCount);       \/\/ Column F: View Count\n        sheet.getRange(lastRow + index + 1, 7).setValue(likeCount);       \/\/ Column G: Like Count\n        sheet.getRange(lastRow + index + 1, 8).setValue(duration);        \/\/ Column H: Video Duration\n        sheet.getRange(lastRow + index + 1, 9).setValue(videoUrl);        \/\/ Column I: Video URL\n    });\n}\n\n\/\/ Convert ISO 8601 duration to &quot;HH:MM:SS&quot; format\nfunction formatDuration(duration) {\n    var matches = duration.match(\/PT(\\d+H)?(\\d+M)?(\\d+S)?\/);\n    var hours = (matches[1] ? matches[1].replace('H', '') : '00').padStart(2, '0');\n    var minutes = (matches[2] ? matches[2].replace('M', '') : '00').padStart(2, '0');\n    var seconds = (matches[3] ? matches[3].replace('S', '') : '00').padStart(2, '0');\n    return `${hours}:${minutes}:${seconds}`;\n}\n\" style=\"color:#F8F8F2;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki monokai\" style=\"background-color: #272822\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #66D9EF; font-style: italic\">function<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #A6E22E\">fetchAndWriteYouTubeData<\/span><span style=\"color: #F8F8F2\">() {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">    <\/span><span style=\"color: #66D9EF; font-style: italic\">var<\/span><span style=\"color: #F8F8F2\"> sheet <\/span><span style=\"color: #F92672\">=<\/span><span style=\"color: #F8F8F2\"> SpreadsheetApp.<\/span><span style=\"color: #A6E22E\">getActiveSpreadsheet<\/span><span style=\"color: #F8F8F2\">().<\/span><span style=\"color: #A6E22E\">getSheetByName<\/span><span style=\"color: #F8F8F2\">(<\/span><span style=\"color: #E6DB74\">&quot;Video Information&quot;<\/span><span style=\"color: #F8F8F2\">);<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">    <\/span><span style=\"color: #F92672\">if<\/span><span style=\"color: #F8F8F2\"> (<\/span><span style=\"color: #F92672\">!<\/span><span style=\"color: #F8F8F2\">sheet) {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">        Logger.<\/span><span style=\"color: #A6E22E\">log<\/span><span style=\"color: #F8F8F2\">(<\/span><span style=\"color: #E6DB74\">&quot;Sheet &#39;Video Information&#39; not found.&quot;<\/span><span style=\"color: #F8F8F2\">);<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">        <\/span><span style=\"color: #F92672\">return<\/span><span style=\"color: #F8F8F2\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">    }<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">    <\/span><span style=\"color: #88846F\">\/\/ Retrieve the API key from script properties<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">    <\/span><span style=\"color: #66D9EF; font-style: italic\">var<\/span><span style=\"color: #F8F8F2\"> apiKey <\/span><span style=\"color: #F92672\">=<\/span><span style=\"color: #F8F8F2\"> PropertiesService.<\/span><span style=\"color: #A6E22E\">getScriptProperties<\/span><span style=\"color: #F8F8F2\">().<\/span><span style=\"color: #A6E22E\">getProperty<\/span><span style=\"color: #F8F8F2\">(<\/span><span style=\"color: #E6DB74\">&#39;YOUTUBE_DATA_API_KEY&#39;<\/span><span style=\"color: #F8F8F2\">);<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">    Logger.<\/span><span style=\"color: #A6E22E\">log<\/span><span style=\"color: #F8F8F2\">(<\/span><span style=\"color: #E6DB74\">&quot;API Key: &quot;<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #F92672\">+<\/span><span style=\"color: #F8F8F2\"> apiKey);<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">    <\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">    <\/span><span style=\"color: #88846F\">\/\/ Retrieve the channel ID from cell B1<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">    <\/span><span style=\"color: #66D9EF; font-style: italic\">var<\/span><span style=\"color: #F8F8F2\"> channelId <\/span><span style=\"color: #F92672\">=<\/span><span style=\"color: #F8F8F2\"> sheet.<\/span><span style=\"color: #A6E22E\">getRange<\/span><span style=\"color: #F8F8F2\">(<\/span><span style=\"color: #E6DB74\">&quot;B1&quot;<\/span><span style=\"color: #F8F8F2\">).<\/span><span style=\"color: #A6E22E\">getValue<\/span><span style=\"color: #F8F8F2\">();<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">    Logger.<\/span><span style=\"color: #A6E22E\">log<\/span><span style=\"color: #F8F8F2\">(<\/span><span style=\"color: #E6DB74\">&quot;Channel ID: &quot;<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #F92672\">+<\/span><span style=\"color: #F8F8F2\"> channelId);<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">    <\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">    <\/span><span style=\"color: #88846F\">\/\/ Retrieve the range from cells B2 and B3<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">    <\/span><span style=\"color: #66D9EF; font-style: italic\">var<\/span><span style=\"color: #F8F8F2\"> startIndex <\/span><span style=\"color: #F92672\">=<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #A6E22E\">parseInt<\/span><span style=\"color: #F8F8F2\">(sheet.<\/span><span style=\"color: #A6E22E\">getRange<\/span><span style=\"color: #F8F8F2\">(<\/span><span style=\"color: #E6DB74\">&quot;B2&quot;<\/span><span style=\"color: #F8F8F2\">).<\/span><span style=\"color: #A6E22E\">getValue<\/span><span style=\"color: #F8F8F2\">()) <\/span><span style=\"color: #F92672\">||<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #AE81FF\">1<\/span><span style=\"color: #F8F8F2\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">    <\/span><span style=\"color: #66D9EF; font-style: italic\">var<\/span><span style=\"color: #F8F8F2\"> endIndex <\/span><span style=\"color: #F92672\">=<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #A6E22E\">parseInt<\/span><span style=\"color: #F8F8F2\">(sheet.<\/span><span style=\"color: #A6E22E\">getRange<\/span><span style=\"color: #F8F8F2\">(<\/span><span style=\"color: #E6DB74\">&quot;B3&quot;<\/span><span style=\"color: #F8F8F2\">).<\/span><span style=\"color: #A6E22E\">getValue<\/span><span style=\"color: #F8F8F2\">()) <\/span><span style=\"color: #F92672\">||<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #AE81FF\">10<\/span><span style=\"color: #F8F8F2\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">    <\/span><span style=\"color: #66D9EF; font-style: italic\">var<\/span><span style=\"color: #F8F8F2\"> maxResults <\/span><span style=\"color: #F92672\">=<\/span><span style=\"color: #F8F8F2\"> Math.<\/span><span style=\"color: #A6E22E\">min<\/span><span style=\"color: #F8F8F2\">(endIndex <\/span><span style=\"color: #F92672\">-<\/span><span style=\"color: #F8F8F2\"> startIndex <\/span><span style=\"color: #F92672\">+<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #AE81FF\">1<\/span><span style=\"color: #F8F8F2\">, <\/span><span style=\"color: #AE81FF\">100<\/span><span style=\"color: #F8F8F2\">);<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">    Logger.<\/span><span style=\"color: #A6E22E\">log<\/span><span style=\"color: #F8F8F2\">(<\/span><span style=\"color: #E6DB74\">`Start Index: <\/span><span style=\"color: #F92672\">${<\/span><span style=\"color: #F8F8F2\">startIndex<\/span><span style=\"color: #F92672\">}<\/span><span style=\"color: #E6DB74\">, End Index: <\/span><span style=\"color: #F92672\">${<\/span><span style=\"color: #F8F8F2\">endIndex<\/span><span style=\"color: #F92672\">}<\/span><span style=\"color: #E6DB74\">`<\/span><span style=\"color: #F8F8F2\">);<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">    <\/span><span style=\"color: #88846F\">\/\/ YouTube Data API URL<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">    <\/span><span style=\"color: #66D9EF; font-style: italic\">var<\/span><span style=\"color: #F8F8F2\"> baseUrl <\/span><span style=\"color: #F92672\">=<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #E6DB74\">`https:\/\/www.googleapis.com\/youtube\/v3\/search?key=<\/span><span style=\"color: #F92672\">${<\/span><span style=\"color: #F8F8F2\">apiKey<\/span><span style=\"color: #F92672\">}<\/span><span style=\"color: #E6DB74\">&amp;channelId=<\/span><span style=\"color: #F92672\">${<\/span><span style=\"color: #F8F8F2\">channelId<\/span><span style=\"color: #F92672\">}<\/span><span style=\"color: #E6DB74\">&amp;part=snippet&amp;order=date&amp;type=video&amp;maxResults=100`<\/span><span style=\"color: #F8F8F2\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">    <\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">    <\/span><span style=\"color: #66D9EF; font-style: italic\">var<\/span><span style=\"color: #F8F8F2\"> videos <\/span><span style=\"color: #F92672\">=<\/span><span style=\"color: #F8F8F2\"> []; <\/span><span style=\"color: #88846F\">\/\/ Store video data<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">    <\/span><span style=\"color: #66D9EF; font-style: italic\">var<\/span><span style=\"color: #F8F8F2\"> nextPageToken <\/span><span style=\"color: #F92672\">=<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #E6DB74\">&#39;&#39;<\/span><span style=\"color: #F8F8F2\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">    <\/span><span style=\"color: #66D9EF; font-style: italic\">var<\/span><span style=\"color: #F8F8F2\"> totalFetched <\/span><span style=\"color: #F92672\">=<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #AE81FF\">0<\/span><span style=\"color: #F8F8F2\">;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">    <\/span><span style=\"color: #88846F\">\/\/ Use pagination to fetch video data<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">    <\/span><span style=\"color: #F92672\">while<\/span><span style=\"color: #F8F8F2\"> (nextPageToken <\/span><span style=\"color: #F92672\">!==<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #AE81FF\">null<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #F92672\">&amp;&amp;<\/span><span style=\"color: #F8F8F2\"> totalFetched <\/span><span style=\"color: #F92672\">&lt;<\/span><span style=\"color: #F8F8F2\"> endIndex) {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">        <\/span><span style=\"color: #66D9EF; font-style: italic\">var<\/span><span style=\"color: #F8F8F2\"> url <\/span><span style=\"color: #F92672\">=<\/span><span style=\"color: #F8F8F2\"> baseUrl <\/span><span style=\"color: #F92672\">+<\/span><span style=\"color: #F8F8F2\"> (nextPageToken <\/span><span style=\"color: #F92672\">?<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #E6DB74\">`&amp;pageToken=<\/span><span style=\"color: #F92672\">${<\/span><span style=\"color: #F8F8F2\">nextPageToken<\/span><span style=\"color: #F92672\">}<\/span><span style=\"color: #E6DB74\">`<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #F92672\">:<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #E6DB74\">&#39;&#39;<\/span><span style=\"color: #F8F8F2\">);<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">        <\/span><span style=\"color: #66D9EF; font-style: italic\">var<\/span><span style=\"color: #F8F8F2\"> response <\/span><span style=\"color: #F92672\">=<\/span><span style=\"color: #F8F8F2\"> UrlFetchApp.<\/span><span style=\"color: #A6E22E\">fetch<\/span><span style=\"color: #F8F8F2\">(url);<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">        <\/span><span style=\"color: #66D9EF; font-style: italic\">var<\/span><span style=\"color: #F8F8F2\"> data <\/span><span style=\"color: #F92672\">=<\/span><span style=\"color: #F8F8F2\"> JSON.<\/span><span style=\"color: #A6E22E\">parse<\/span><span style=\"color: #F8F8F2\">(response.<\/span><span style=\"color: #A6E22E\">getContentText<\/span><span style=\"color: #F8F8F2\">());<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">        <\/span><span style=\"color: #F92672\">if<\/span><span style=\"color: #F8F8F2\"> (<\/span><span style=\"color: #F92672\">!<\/span><span style=\"color: #F8F8F2\">data.items) {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">            Logger.<\/span><span style=\"color: #A6E22E\">log<\/span><span style=\"color: #F8F8F2\">(<\/span><span style=\"color: #E6DB74\">&quot;No data retrieved.&quot;<\/span><span style=\"color: #F8F8F2\">);<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">            <\/span><span style=\"color: #F92672\">break<\/span><span style=\"color: #F8F8F2\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">        }<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">        videos <\/span><span style=\"color: #F92672\">=<\/span><span style=\"color: #F8F8F2\"> videos.<\/span><span style=\"color: #A6E22E\">concat<\/span><span style=\"color: #F8F8F2\">(data.items);<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">        totalFetched <\/span><span style=\"color: #F92672\">+=<\/span><span style=\"color: #F8F8F2\"> data.items.length;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">        nextPageToken <\/span><span style=\"color: #F92672\">=<\/span><span style=\"color: #F8F8F2\"> data.nextPageToken <\/span><span style=\"color: #F92672\">||<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #AE81FF\">null<\/span><span style=\"color: #F8F8F2\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">        Logger.<\/span><span style=\"color: #A6E22E\">log<\/span><span style=\"color: #F8F8F2\">(<\/span><span style=\"color: #E6DB74\">`Fetched <\/span><span style=\"color: #F92672\">${<\/span><span style=\"color: #F8F8F2\">data.items.length<\/span><span style=\"color: #F92672\">}<\/span><span style=\"color: #E6DB74\"> videos, Total fetched: <\/span><span style=\"color: #F92672\">${<\/span><span style=\"color: #F8F8F2\">totalFetched<\/span><span style=\"color: #F92672\">}<\/span><span style=\"color: #E6DB74\">`<\/span><span style=\"color: #F8F8F2\">);<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">    }<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">    <\/span><span style=\"color: #88846F\">\/\/ Extract the required range and retrieve video IDs<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">    <\/span><span style=\"color: #66D9EF; font-style: italic\">var<\/span><span style=\"color: #F8F8F2\"> videoIds <\/span><span style=\"color: #F92672\">=<\/span><span style=\"color: #F8F8F2\"> videos.<\/span><span style=\"color: #A6E22E\">slice<\/span><span style=\"color: #F8F8F2\">(startIndex <\/span><span style=\"color: #F92672\">-<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #AE81FF\">1<\/span><span style=\"color: #F8F8F2\">, endIndex).<\/span><span style=\"color: #A6E22E\">map<\/span><span style=\"color: #F8F8F2\">(<\/span><span style=\"color: #FD971F; font-style: italic\">item<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #66D9EF; font-style: italic\">=&gt;<\/span><span style=\"color: #F8F8F2\"> item.id.videoId).<\/span><span style=\"color: #A6E22E\">join<\/span><span style=\"color: #F8F8F2\">(<\/span><span style=\"color: #E6DB74\">&#39;,&#39;<\/span><span style=\"color: #F8F8F2\">);<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">    <\/span><span style=\"color: #88846F\">\/\/ Fetch detailed information (view count, likes, duration) using the videos endpoint<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">    <\/span><span style=\"color: #66D9EF; font-style: italic\">var<\/span><span style=\"color: #F8F8F2\"> detailsUrl <\/span><span style=\"color: #F92672\">=<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #E6DB74\">`https:\/\/www.googleapis.com\/youtube\/v3\/videos?key=<\/span><span style=\"color: #F92672\">${<\/span><span style=\"color: #F8F8F2\">apiKey<\/span><span style=\"color: #F92672\">}<\/span><span style=\"color: #E6DB74\">&amp;id=<\/span><span style=\"color: #F92672\">${<\/span><span style=\"color: #F8F8F2\">videoIds<\/span><span style=\"color: #F92672\">}<\/span><span style=\"color: #E6DB74\">&amp;part=snippet,contentDetails,statistics`<\/span><span style=\"color: #F8F8F2\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">    <\/span><span style=\"color: #66D9EF; font-style: italic\">var<\/span><span style=\"color: #F8F8F2\"> detailsResponse <\/span><span style=\"color: #F92672\">=<\/span><span style=\"color: #F8F8F2\"> UrlFetchApp.<\/span><span style=\"color: #A6E22E\">fetch<\/span><span style=\"color: #F8F8F2\">(detailsUrl);<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">    <\/span><span style=\"color: #66D9EF; font-style: italic\">var<\/span><span style=\"color: #F8F8F2\"> detailsData <\/span><span style=\"color: #F92672\">=<\/span><span style=\"color: #F8F8F2\"> JSON.<\/span><span style=\"color: #A6E22E\">parse<\/span><span style=\"color: #F8F8F2\">(detailsResponse.<\/span><span style=\"color: #A6E22E\">getContentText<\/span><span style=\"color: #F8F8F2\">());<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">    <\/span><span style=\"color: #88846F\">\/\/ Get the next row to write data<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">    <\/span><span style=\"color: #66D9EF; font-style: italic\">var<\/span><span style=\"color: #F8F8F2\"> lastRow <\/span><span style=\"color: #F92672\">=<\/span><span style=\"color: #F8F8F2\"> sheet.<\/span><span style=\"color: #A6E22E\">getLastRow<\/span><span style=\"color: #F8F8F2\">();<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">    <\/span><span style=\"color: #88846F\">\/\/ Write data to the spreadsheet<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">    detailsData.items.<\/span><span style=\"color: #A6E22E\">forEach<\/span><span style=\"color: #F8F8F2\">(<\/span><span style=\"color: #66D9EF; font-style: italic\">function<\/span><span style=\"color: #F8F8F2\">(<\/span><span style=\"color: #FD971F; font-style: italic\">item<\/span><span style=\"color: #F8F8F2\">, <\/span><span style=\"color: #FD971F; font-style: italic\">index<\/span><span style=\"color: #F8F8F2\">) {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">        <\/span><span style=\"color: #66D9EF; font-style: italic\">var<\/span><span style=\"color: #F8F8F2\"> videoId <\/span><span style=\"color: #F92672\">=<\/span><span style=\"color: #F8F8F2\"> item.id;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">        <\/span><span style=\"color: #66D9EF; font-style: italic\">var<\/span><span style=\"color: #F8F8F2\"> title <\/span><span style=\"color: #F92672\">=<\/span><span style=\"color: #F8F8F2\"> item.snippet.title;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">        <\/span><span style=\"color: #66D9EF; font-style: italic\">var<\/span><span style=\"color: #F8F8F2\"> publishedAt <\/span><span style=\"color: #F92672\">=<\/span><span style=\"color: #F8F8F2\"> item.snippet.publishedAt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">        <\/span><span style=\"color: #66D9EF; font-style: italic\">var<\/span><span style=\"color: #F8F8F2\"> thumbnailUrl <\/span><span style=\"color: #F92672\">=<\/span><span style=\"color: #F8F8F2\"> item.snippet.thumbnails.default.url; <\/span><span style=\"color: #88846F\">\/\/ Default thumbnail URL<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">        <\/span><span style=\"color: #66D9EF; font-style: italic\">var<\/span><span style=\"color: #F8F8F2\"> channelTitle <\/span><span style=\"color: #F92672\">=<\/span><span style=\"color: #F8F8F2\"> item.snippet.channelTitle;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">        <\/span><span style=\"color: #66D9EF; font-style: italic\">var<\/span><span style=\"color: #F8F8F2\"> viewCount <\/span><span style=\"color: #F92672\">=<\/span><span style=\"color: #F8F8F2\"> item.statistics.viewCount;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">        <\/span><span style=\"color: #66D9EF; font-style: italic\">var<\/span><span style=\"color: #F8F8F2\"> likeCount <\/span><span style=\"color: #F92672\">=<\/span><span style=\"color: #F8F8F2\"> item.statistics.likeCount;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">        <\/span><span style=\"color: #66D9EF; font-style: italic\">var<\/span><span style=\"color: #F8F8F2\"> videoUrl <\/span><span style=\"color: #F92672\">=<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #E6DB74\">`https:\/\/www.youtube.com\/watch?v=<\/span><span style=\"color: #F92672\">${<\/span><span style=\"color: #F8F8F2\">videoId<\/span><span style=\"color: #F92672\">}<\/span><span style=\"color: #E6DB74\">`<\/span><span style=\"color: #F8F8F2\">;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">        <\/span><span style=\"color: #88846F\">\/\/ Format the video duration from ISO 8601<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">        <\/span><span style=\"color: #66D9EF; font-style: italic\">var<\/span><span style=\"color: #F8F8F2\"> duration <\/span><span style=\"color: #F92672\">=<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #A6E22E\">formatDuration<\/span><span style=\"color: #F8F8F2\">(item.contentDetails.duration);<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">        Logger.<\/span><span style=\"color: #A6E22E\">log<\/span><span style=\"color: #F8F8F2\">(<\/span><span style=\"color: #E6DB74\">`Writing to row <\/span><span style=\"color: #F92672\">${<\/span><span style=\"color: #F8F8F2\">lastRow <\/span><span style=\"color: #F92672\">+<\/span><span style=\"color: #F8F8F2\"> index <\/span><span style=\"color: #F92672\">+<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #AE81FF\">1<\/span><span style=\"color: #F92672\">}<\/span><span style=\"color: #E6DB74\">: <\/span><span style=\"color: #F92672\">${<\/span><span style=\"color: #F8F8F2\">title<\/span><span style=\"color: #F92672\">}<\/span><span style=\"color: #E6DB74\">`<\/span><span style=\"color: #F8F8F2\">);<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">        sheet.<\/span><span style=\"color: #A6E22E\">getRange<\/span><span style=\"color: #F8F8F2\">(lastRow <\/span><span style=\"color: #F92672\">+<\/span><span style=\"color: #F8F8F2\"> index <\/span><span style=\"color: #F92672\">+<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #AE81FF\">1<\/span><span style=\"color: #F8F8F2\">, <\/span><span style=\"color: #AE81FF\">1<\/span><span style=\"color: #F8F8F2\">).<\/span><span style=\"color: #A6E22E\">setValue<\/span><span style=\"color: #F8F8F2\">(videoId);         <\/span><span style=\"color: #88846F\">\/\/ Column A: Video ID<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">        sheet.<\/span><span style=\"color: #A6E22E\">getRange<\/span><span style=\"color: #F8F8F2\">(lastRow <\/span><span style=\"color: #F92672\">+<\/span><span style=\"color: #F8F8F2\"> index <\/span><span style=\"color: #F92672\">+<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #AE81FF\">1<\/span><span style=\"color: #F8F8F2\">, <\/span><span style=\"color: #AE81FF\">2<\/span><span style=\"color: #F8F8F2\">).<\/span><span style=\"color: #A6E22E\">setValue<\/span><span style=\"color: #F8F8F2\">(title);           <\/span><span style=\"color: #88846F\">\/\/ Column B: Title<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">        sheet.<\/span><span style=\"color: #A6E22E\">getRange<\/span><span style=\"color: #F8F8F2\">(lastRow <\/span><span style=\"color: #F92672\">+<\/span><span style=\"color: #F8F8F2\"> index <\/span><span style=\"color: #F92672\">+<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #AE81FF\">1<\/span><span style=\"color: #F8F8F2\">, <\/span><span style=\"color: #AE81FF\">3<\/span><span style=\"color: #F8F8F2\">).<\/span><span style=\"color: #A6E22E\">setValue<\/span><span style=\"color: #F8F8F2\">(publishedAt);     <\/span><span style=\"color: #88846F\">\/\/ Column C: Publish Date<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">        sheet.<\/span><span style=\"color: #A6E22E\">getRange<\/span><span style=\"color: #F8F8F2\">(lastRow <\/span><span style=\"color: #F92672\">+<\/span><span style=\"color: #F8F8F2\"> index <\/span><span style=\"color: #F92672\">+<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #AE81FF\">1<\/span><span style=\"color: #F8F8F2\">, <\/span><span style=\"color: #AE81FF\">4<\/span><span style=\"color: #F8F8F2\">).<\/span><span style=\"color: #A6E22E\">setFormula<\/span><span style=\"color: #F8F8F2\">(<\/span><span style=\"color: #E6DB74\">`=IMAGE(&quot;<\/span><span style=\"color: #F92672\">${<\/span><span style=\"color: #F8F8F2\">thumbnailUrl<\/span><span style=\"color: #F92672\">}<\/span><span style=\"color: #E6DB74\">&quot;)`<\/span><span style=\"color: #F8F8F2\">); <\/span><span style=\"color: #88846F\">\/\/ Column D: Thumbnail<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">        sheet.<\/span><span style=\"color: #A6E22E\">getRange<\/span><span style=\"color: #F8F8F2\">(lastRow <\/span><span style=\"color: #F92672\">+<\/span><span style=\"color: #F8F8F2\"> index <\/span><span style=\"color: #F92672\">+<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #AE81FF\">1<\/span><span style=\"color: #F8F8F2\">, <\/span><span style=\"color: #AE81FF\">5<\/span><span style=\"color: #F8F8F2\">).<\/span><span style=\"color: #A6E22E\">setValue<\/span><span style=\"color: #F8F8F2\">(channelTitle);    <\/span><span style=\"color: #88846F\">\/\/ Column E: Channel Title<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">        sheet.<\/span><span style=\"color: #A6E22E\">getRange<\/span><span style=\"color: #F8F8F2\">(lastRow <\/span><span style=\"color: #F92672\">+<\/span><span style=\"color: #F8F8F2\"> index <\/span><span style=\"color: #F92672\">+<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #AE81FF\">1<\/span><span style=\"color: #F8F8F2\">, <\/span><span style=\"color: #AE81FF\">6<\/span><span style=\"color: #F8F8F2\">).<\/span><span style=\"color: #A6E22E\">setValue<\/span><span style=\"color: #F8F8F2\">(viewCount);       <\/span><span style=\"color: #88846F\">\/\/ Column F: View Count<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">        sheet.<\/span><span style=\"color: #A6E22E\">getRange<\/span><span style=\"color: #F8F8F2\">(lastRow <\/span><span style=\"color: #F92672\">+<\/span><span style=\"color: #F8F8F2\"> index <\/span><span style=\"color: #F92672\">+<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #AE81FF\">1<\/span><span style=\"color: #F8F8F2\">, <\/span><span style=\"color: #AE81FF\">7<\/span><span style=\"color: #F8F8F2\">).<\/span><span style=\"color: #A6E22E\">setValue<\/span><span style=\"color: #F8F8F2\">(likeCount);       <\/span><span style=\"color: #88846F\">\/\/ Column G: Like Count<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">        sheet.<\/span><span style=\"color: #A6E22E\">getRange<\/span><span style=\"color: #F8F8F2\">(lastRow <\/span><span style=\"color: #F92672\">+<\/span><span style=\"color: #F8F8F2\"> index <\/span><span style=\"color: #F92672\">+<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #AE81FF\">1<\/span><span style=\"color: #F8F8F2\">, <\/span><span style=\"color: #AE81FF\">8<\/span><span style=\"color: #F8F8F2\">).<\/span><span style=\"color: #A6E22E\">setValue<\/span><span style=\"color: #F8F8F2\">(duration);        <\/span><span style=\"color: #88846F\">\/\/ Column H: Video Duration<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">        sheet.<\/span><span style=\"color: #A6E22E\">getRange<\/span><span style=\"color: #F8F8F2\">(lastRow <\/span><span style=\"color: #F92672\">+<\/span><span style=\"color: #F8F8F2\"> index <\/span><span style=\"color: #F92672\">+<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #AE81FF\">1<\/span><span style=\"color: #F8F8F2\">, <\/span><span style=\"color: #AE81FF\">9<\/span><span style=\"color: #F8F8F2\">).<\/span><span style=\"color: #A6E22E\">setValue<\/span><span style=\"color: #F8F8F2\">(videoUrl);        <\/span><span style=\"color: #88846F\">\/\/ Column I: Video URL<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">    });<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">}<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #88846F\">\/\/ Convert ISO 8601 duration to &quot;HH:MM:SS&quot; format<\/span><\/span>\n<span class=\"line\"><span style=\"color: #66D9EF; font-style: italic\">function<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #A6E22E\">formatDuration<\/span><span style=\"color: #F8F8F2\">(<\/span><span style=\"color: #FD971F; font-style: italic\">duration<\/span><span style=\"color: #F8F8F2\">) {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">    <\/span><span style=\"color: #66D9EF; font-style: italic\">var<\/span><span style=\"color: #F8F8F2\"> matches <\/span><span style=\"color: #F92672\">=<\/span><span style=\"color: #F8F8F2\"> duration.<\/span><span style=\"color: #A6E22E\">match<\/span><span style=\"color: #F8F8F2\">(<\/span><span style=\"color: #E6DB74\">\/PT(<\/span><span style=\"color: #AE81FF\">\\d<\/span><span style=\"color: #F92672\">+<\/span><span style=\"color: #E6DB74\">H)<\/span><span style=\"color: #F92672\">?<\/span><span style=\"color: #E6DB74\">(<\/span><span style=\"color: #AE81FF\">\\d<\/span><span style=\"color: #F92672\">+<\/span><span style=\"color: #E6DB74\">M)<\/span><span style=\"color: #F92672\">?<\/span><span style=\"color: #E6DB74\">(<\/span><span style=\"color: #AE81FF\">\\d<\/span><span style=\"color: #F92672\">+<\/span><span style=\"color: #E6DB74\">S)<\/span><span style=\"color: #F92672\">?<\/span><span style=\"color: #E6DB74\">\/<\/span><span style=\"color: #F8F8F2\">);<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">    <\/span><span style=\"color: #66D9EF; font-style: italic\">var<\/span><span style=\"color: #F8F8F2\"> hours <\/span><span style=\"color: #F92672\">=<\/span><span style=\"color: #F8F8F2\"> (matches[<\/span><span style=\"color: #AE81FF\">1<\/span><span style=\"color: #F8F8F2\">] <\/span><span style=\"color: #F92672\">?<\/span><span style=\"color: #F8F8F2\"> matches[<\/span><span style=\"color: #AE81FF\">1<\/span><span style=\"color: #F8F8F2\">].<\/span><span style=\"color: #A6E22E\">replace<\/span><span style=\"color: #F8F8F2\">(<\/span><span style=\"color: #E6DB74\">&#39;H&#39;<\/span><span style=\"color: #F8F8F2\">, <\/span><span style=\"color: #E6DB74\">&#39;&#39;<\/span><span style=\"color: #F8F8F2\">) <\/span><span style=\"color: #F92672\">:<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #E6DB74\">&#39;00&#39;<\/span><span style=\"color: #F8F8F2\">).<\/span><span style=\"color: #A6E22E\">padStart<\/span><span style=\"color: #F8F8F2\">(<\/span><span style=\"color: #AE81FF\">2<\/span><span style=\"color: #F8F8F2\">, <\/span><span style=\"color: #E6DB74\">&#39;0&#39;<\/span><span style=\"color: #F8F8F2\">);<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">    <\/span><span style=\"color: #66D9EF; font-style: italic\">var<\/span><span style=\"color: #F8F8F2\"> minutes <\/span><span style=\"color: #F92672\">=<\/span><span style=\"color: #F8F8F2\"> (matches[<\/span><span style=\"color: #AE81FF\">2<\/span><span style=\"color: #F8F8F2\">] <\/span><span style=\"color: #F92672\">?<\/span><span style=\"color: #F8F8F2\"> matches[<\/span><span style=\"color: #AE81FF\">2<\/span><span style=\"color: #F8F8F2\">].<\/span><span style=\"color: #A6E22E\">replace<\/span><span style=\"color: #F8F8F2\">(<\/span><span style=\"color: #E6DB74\">&#39;M&#39;<\/span><span style=\"color: #F8F8F2\">, <\/span><span style=\"color: #E6DB74\">&#39;&#39;<\/span><span style=\"color: #F8F8F2\">) <\/span><span style=\"color: #F92672\">:<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #E6DB74\">&#39;00&#39;<\/span><span style=\"color: #F8F8F2\">).<\/span><span style=\"color: #A6E22E\">padStart<\/span><span style=\"color: #F8F8F2\">(<\/span><span style=\"color: #AE81FF\">2<\/span><span style=\"color: #F8F8F2\">, <\/span><span style=\"color: #E6DB74\">&#39;0&#39;<\/span><span style=\"color: #F8F8F2\">);<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">    <\/span><span style=\"color: #66D9EF; font-style: italic\">var<\/span><span style=\"color: #F8F8F2\"> seconds <\/span><span style=\"color: #F92672\">=<\/span><span style=\"color: #F8F8F2\"> (matches[<\/span><span style=\"color: #AE81FF\">3<\/span><span style=\"color: #F8F8F2\">] <\/span><span style=\"color: #F92672\">?<\/span><span style=\"color: #F8F8F2\"> matches[<\/span><span style=\"color: #AE81FF\">3<\/span><span style=\"color: #F8F8F2\">].<\/span><span style=\"color: #A6E22E\">replace<\/span><span style=\"color: #F8F8F2\">(<\/span><span style=\"color: #E6DB74\">&#39;S&#39;<\/span><span style=\"color: #F8F8F2\">, <\/span><span style=\"color: #E6DB74\">&#39;&#39;<\/span><span style=\"color: #F8F8F2\">) <\/span><span style=\"color: #F92672\">:<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #E6DB74\">&#39;00&#39;<\/span><span style=\"color: #F8F8F2\">).<\/span><span style=\"color: #A6E22E\">padStart<\/span><span style=\"color: #F8F8F2\">(<\/span><span style=\"color: #AE81FF\">2<\/span><span style=\"color: #F8F8F2\">, <\/span><span style=\"color: #E6DB74\">&#39;0&#39;<\/span><span style=\"color: #F8F8F2\">);<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">    <\/span><span style=\"color: #F92672\">return<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #E6DB74\">`<\/span><span style=\"color: #F92672\">${<\/span><span style=\"color: #F8F8F2\">hours<\/span><span style=\"color: #F92672\">}<\/span><span style=\"color: #E6DB74\">:<\/span><span style=\"color: #F92672\">${<\/span><span style=\"color: #F8F8F2\">minutes<\/span><span style=\"color: #F92672\">}<\/span><span style=\"color: #E6DB74\">:<\/span><span style=\"color: #F92672\">${<\/span><span style=\"color: #F8F8F2\">seconds<\/span><span style=\"color: #F92672\">}<\/span><span style=\"color: #E6DB74\">`<\/span><span style=\"color: #F8F8F2\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">}<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre><\/div>\n\n\n\n<div class=\"swell-block-accordion\">\n<details class=\"swell-block-accordion__item\" data-swl-acc=\"wrapper\"><summary class=\"swell-block-accordion__title\" data-swl-acc=\"header\"><span class=\"swell-block-accordion__label\">Script Description<\/span><span class=\"swell-block-accordion__icon c-switchIconBtn\" data-swl-acc=\"icon\" aria-hidden=\"true\" data-opened=\"false\"><i class=\"__icon--closed icon-caret-down\"><\/i><i class=\"__icon--opened icon-caret-up\"><\/i><\/span><\/summary><div class=\"swell-block-accordion__body\" data-swl-acc=\"body\">\n<dl class=\"swell-block-dl\">\n<dt class=\"swell-block-dl__dt\"><strong>Checking the Sheet and Retrieving the API Key<\/strong><\/dt>\n\n\n\n<dd class=\"swell-block-dl__dd\">\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span role=\"button\" tabindex=\"0\" data-code=\"    var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName(&quot;Video Information&quot;);\n    if (!sheet) {\n        Logger.log(&quot;Sheet 'Video Information' not found.&quot;);\n        return;\n    }\n\n    \/\/ Retrieve the API key from script properties\n    var apiKey = PropertiesService.getScriptProperties().getProperty('YOUTUBE_DATA_API_KEY');\n    Logger.log(&quot;API Key: &quot; + apiKey);\" style=\"color:#F8F8F2;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki monokai\" style=\"background-color: #272822\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #F8F8F2\">    <\/span><span style=\"color: #66D9EF; font-style: italic\">var<\/span><span style=\"color: #F8F8F2\"> sheet <\/span><span style=\"color: #F92672\">=<\/span><span style=\"color: #F8F8F2\"> SpreadsheetApp.<\/span><span style=\"color: #A6E22E\">getActiveSpreadsheet<\/span><span style=\"color: #F8F8F2\">().<\/span><span style=\"color: #A6E22E\">getSheetByName<\/span><span style=\"color: #F8F8F2\">(<\/span><span style=\"color: #E6DB74\">&quot;Video Information&quot;<\/span><span style=\"color: #F8F8F2\">);<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">    <\/span><span style=\"color: #F92672\">if<\/span><span style=\"color: #F8F8F2\"> (<\/span><span style=\"color: #F92672\">!<\/span><span style=\"color: #F8F8F2\">sheet) {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">        Logger.<\/span><span style=\"color: #A6E22E\">log<\/span><span style=\"color: #F8F8F2\">(<\/span><span style=\"color: #E6DB74\">&quot;Sheet &#39;Video Information&#39; not found.&quot;<\/span><span style=\"color: #F8F8F2\">);<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">        <\/span><span style=\"color: #F92672\">return<\/span><span style=\"color: #F8F8F2\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">    }<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">    <\/span><span style=\"color: #88846F\">\/\/ Retrieve the API key from script properties<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">    <\/span><span style=\"color: #66D9EF; font-style: italic\">var<\/span><span style=\"color: #F8F8F2\"> apiKey <\/span><span style=\"color: #F92672\">=<\/span><span style=\"color: #F8F8F2\"> PropertiesService.<\/span><span style=\"color: #A6E22E\">getScriptProperties<\/span><span style=\"color: #F8F8F2\">().<\/span><span style=\"color: #A6E22E\">getProperty<\/span><span style=\"color: #F8F8F2\">(<\/span><span style=\"color: #E6DB74\">&#39;YOUTUBE_DATA_API_KEY&#39;<\/span><span style=\"color: #F8F8F2\">);<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">    Logger.<\/span><span style=\"color: #A6E22E\">log<\/span><span style=\"color: #F8F8F2\">(<\/span><span style=\"color: #E6DB74\">&quot;API Key: &quot;<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #F92672\">+<\/span><span style=\"color: #F8F8F2\"> apiKey);<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Retrieve the sheet named &#8220;Video Information,&#8221; and if it does not exist, log a message and terminate the process.<\/li>\n\n\n\n<li>Retrieve the &#8220;YouTube Data API&#8221; key from the script properties and use it for subsequent API requests.<\/li>\n<\/ul>\n<\/dd>\n\n\n\n<dt class=\"swell-block-dl__dt\">Setting the Channel ID and Retrieval Range<\/dt>\n\n\n\n<dd class=\"swell-block-dl__dd\">\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span role=\"button\" tabindex=\"0\" data-code=\"    \/\/ Retrieve the channel ID from cell B1\n    var channelId = sheet.getRange(&quot;B1&quot;).getValue();\n    Logger.log(&quot;Channel ID: &quot; + channelId);\n    \n    \/\/ Retrieve the range from cells B2 and B3\n    var startIndex = parseInt(sheet.getRange(&quot;B2&quot;).getValue()) || 1;\n    var endIndex = parseInt(sheet.getRange(&quot;B3&quot;).getValue()) || 10;\n    var maxResults = Math.min(endIndex - startIndex + 1, 100);\n    Logger.log(`Start Index: ${startIndex}, End Index: ${endIndex}`);\" style=\"color:#F8F8F2;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki monokai\" style=\"background-color: #272822\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #F8F8F2\">    <\/span><span style=\"color: #88846F\">\/\/ Retrieve the channel ID from cell B1<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">    <\/span><span style=\"color: #66D9EF; font-style: italic\">var<\/span><span style=\"color: #F8F8F2\"> channelId <\/span><span style=\"color: #F92672\">=<\/span><span style=\"color: #F8F8F2\"> sheet.<\/span><span style=\"color: #A6E22E\">getRange<\/span><span style=\"color: #F8F8F2\">(<\/span><span style=\"color: #E6DB74\">&quot;B1&quot;<\/span><span style=\"color: #F8F8F2\">).<\/span><span style=\"color: #A6E22E\">getValue<\/span><span style=\"color: #F8F8F2\">();<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">    Logger.<\/span><span style=\"color: #A6E22E\">log<\/span><span style=\"color: #F8F8F2\">(<\/span><span style=\"color: #E6DB74\">&quot;Channel ID: &quot;<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #F92672\">+<\/span><span style=\"color: #F8F8F2\"> channelId);<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">    <\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">    <\/span><span style=\"color: #88846F\">\/\/ Retrieve the range from cells B2 and B3<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">    <\/span><span style=\"color: #66D9EF; font-style: italic\">var<\/span><span style=\"color: #F8F8F2\"> startIndex <\/span><span style=\"color: #F92672\">=<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #A6E22E\">parseInt<\/span><span style=\"color: #F8F8F2\">(sheet.<\/span><span style=\"color: #A6E22E\">getRange<\/span><span style=\"color: #F8F8F2\">(<\/span><span style=\"color: #E6DB74\">&quot;B2&quot;<\/span><span style=\"color: #F8F8F2\">).<\/span><span style=\"color: #A6E22E\">getValue<\/span><span style=\"color: #F8F8F2\">()) <\/span><span style=\"color: #F92672\">||<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #AE81FF\">1<\/span><span style=\"color: #F8F8F2\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">    <\/span><span style=\"color: #66D9EF; font-style: italic\">var<\/span><span style=\"color: #F8F8F2\"> endIndex <\/span><span style=\"color: #F92672\">=<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #A6E22E\">parseInt<\/span><span style=\"color: #F8F8F2\">(sheet.<\/span><span style=\"color: #A6E22E\">getRange<\/span><span style=\"color: #F8F8F2\">(<\/span><span style=\"color: #E6DB74\">&quot;B3&quot;<\/span><span style=\"color: #F8F8F2\">).<\/span><span style=\"color: #A6E22E\">getValue<\/span><span style=\"color: #F8F8F2\">()) <\/span><span style=\"color: #F92672\">||<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #AE81FF\">10<\/span><span style=\"color: #F8F8F2\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">    <\/span><span style=\"color: #66D9EF; font-style: italic\">var<\/span><span style=\"color: #F8F8F2\"> maxResults <\/span><span style=\"color: #F92672\">=<\/span><span style=\"color: #F8F8F2\"> Math.<\/span><span style=\"color: #A6E22E\">min<\/span><span style=\"color: #F8F8F2\">(endIndex <\/span><span style=\"color: #F92672\">-<\/span><span style=\"color: #F8F8F2\"> startIndex <\/span><span style=\"color: #F92672\">+<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #AE81FF\">1<\/span><span style=\"color: #F8F8F2\">, <\/span><span style=\"color: #AE81FF\">100<\/span><span style=\"color: #F8F8F2\">);<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">    Logger.<\/span><span style=\"color: #A6E22E\">log<\/span><span style=\"color: #F8F8F2\">(<\/span><span style=\"color: #E6DB74\">`Start Index: <\/span><span style=\"color: #F92672\">${<\/span><span style=\"color: #F8F8F2\">startIndex<\/span><span style=\"color: #F92672\">}<\/span><span style=\"color: #E6DB74\">, End Index: <\/span><span style=\"color: #F92672\">${<\/span><span style=\"color: #F8F8F2\">endIndex<\/span><span style=\"color: #F92672\">}<\/span><span style=\"color: #E6DB74\">`<\/span><span style=\"color: #F8F8F2\">);<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Retrieve the Channel ID from cell B1 and use it as the target for the API request.<\/li>\n\n\n\n<li>Set the start and end positions of the videos to be retrieved based on the range specified in cells <strong>B2<\/strong> and <strong>B3<\/strong>.<\/li>\n<\/ul>\n<\/dd>\n\n\n\n<dt class=\"swell-block-dl__dt\"><strong>Retrieve Video Information Using the YouTube API<\/strong><\/dt>\n\n\n\n<dd class=\"swell-block-dl__dd\">\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span role=\"button\" tabindex=\"0\" data-code=\"    \/\/ YouTube Data API URL\n    var baseUrl = `https:\/\/www.googleapis.com\/youtube\/v3\/search?key=${apiKey}&amp;channelId=${channelId}&amp;part=snippet&amp;order=date&amp;type=video&amp;maxResults=100`;\n    \n    var videos = []; \/\/ Store video data\n    var nextPageToken = '';\n    var totalFetched = 0;\n\n    \/\/ Use pagination to fetch video data\n    while (nextPageToken !== null &amp;&amp; totalFetched &lt; endIndex) {\n        var url = baseUrl + (nextPageToken ? `&amp;pageToken=${nextPageToken}` : '');\n        var response = UrlFetchApp.fetch(url);\n        var data = JSON.parse(response.getContentText());\n        if (!data.items) {\n            Logger.log(&quot;No data retrieved.&quot;);\n            break;\n        }\n\n        videos = videos.concat(data.items);\n        totalFetched += data.items.length;\n\n        nextPageToken = data.nextPageToken || null;\n        Logger.log(`Fetched ${data.items.length} videos, Total fetched: ${totalFetched}`);\n    }\" style=\"color:#F8F8F2;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki monokai\" style=\"background-color: #272822\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #F8F8F2\">    <\/span><span style=\"color: #88846F\">\/\/ YouTube Data API URL<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">    <\/span><span style=\"color: #66D9EF; font-style: italic\">var<\/span><span style=\"color: #F8F8F2\"> baseUrl <\/span><span style=\"color: #F92672\">=<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #E6DB74\">`https:\/\/www.googleapis.com\/youtube\/v3\/search?key=<\/span><span style=\"color: #F92672\">${<\/span><span style=\"color: #F8F8F2\">apiKey<\/span><span style=\"color: #F92672\">}<\/span><span style=\"color: #E6DB74\">&amp;channelId=<\/span><span style=\"color: #F92672\">${<\/span><span style=\"color: #F8F8F2\">channelId<\/span><span style=\"color: #F92672\">}<\/span><span style=\"color: #E6DB74\">&amp;part=snippet&amp;order=date&amp;type=video&amp;maxResults=100`<\/span><span style=\"color: #F8F8F2\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">    <\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">    <\/span><span style=\"color: #66D9EF; font-style: italic\">var<\/span><span style=\"color: #F8F8F2\"> videos <\/span><span style=\"color: #F92672\">=<\/span><span style=\"color: #F8F8F2\"> []; <\/span><span style=\"color: #88846F\">\/\/ Store video data<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">    <\/span><span style=\"color: #66D9EF; font-style: italic\">var<\/span><span style=\"color: #F8F8F2\"> nextPageToken <\/span><span style=\"color: #F92672\">=<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #E6DB74\">&#39;&#39;<\/span><span style=\"color: #F8F8F2\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">    <\/span><span style=\"color: #66D9EF; font-style: italic\">var<\/span><span style=\"color: #F8F8F2\"> totalFetched <\/span><span style=\"color: #F92672\">=<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #AE81FF\">0<\/span><span style=\"color: #F8F8F2\">;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">    <\/span><span style=\"color: #88846F\">\/\/ Use pagination to fetch video data<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">    <\/span><span style=\"color: #F92672\">while<\/span><span style=\"color: #F8F8F2\"> (nextPageToken <\/span><span style=\"color: #F92672\">!==<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #AE81FF\">null<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #F92672\">&amp;&amp;<\/span><span style=\"color: #F8F8F2\"> totalFetched <\/span><span style=\"color: #F92672\">&lt;<\/span><span style=\"color: #F8F8F2\"> endIndex) {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">        <\/span><span style=\"color: #66D9EF; font-style: italic\">var<\/span><span style=\"color: #F8F8F2\"> url <\/span><span style=\"color: #F92672\">=<\/span><span style=\"color: #F8F8F2\"> baseUrl <\/span><span style=\"color: #F92672\">+<\/span><span style=\"color: #F8F8F2\"> (nextPageToken <\/span><span style=\"color: #F92672\">?<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #E6DB74\">`&amp;pageToken=<\/span><span style=\"color: #F92672\">${<\/span><span style=\"color: #F8F8F2\">nextPageToken<\/span><span style=\"color: #F92672\">}<\/span><span style=\"color: #E6DB74\">`<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #F92672\">:<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #E6DB74\">&#39;&#39;<\/span><span style=\"color: #F8F8F2\">);<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">        <\/span><span style=\"color: #66D9EF; font-style: italic\">var<\/span><span style=\"color: #F8F8F2\"> response <\/span><span style=\"color: #F92672\">=<\/span><span style=\"color: #F8F8F2\"> UrlFetchApp.<\/span><span style=\"color: #A6E22E\">fetch<\/span><span style=\"color: #F8F8F2\">(url);<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">        <\/span><span style=\"color: #66D9EF; font-style: italic\">var<\/span><span style=\"color: #F8F8F2\"> data <\/span><span style=\"color: #F92672\">=<\/span><span style=\"color: #F8F8F2\"> JSON.<\/span><span style=\"color: #A6E22E\">parse<\/span><span style=\"color: #F8F8F2\">(response.<\/span><span style=\"color: #A6E22E\">getContentText<\/span><span style=\"color: #F8F8F2\">());<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">        <\/span><span style=\"color: #F92672\">if<\/span><span style=\"color: #F8F8F2\"> (<\/span><span style=\"color: #F92672\">!<\/span><span style=\"color: #F8F8F2\">data.items) {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">            Logger.<\/span><span style=\"color: #A6E22E\">log<\/span><span style=\"color: #F8F8F2\">(<\/span><span style=\"color: #E6DB74\">&quot;No data retrieved.&quot;<\/span><span style=\"color: #F8F8F2\">);<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">            <\/span><span style=\"color: #F92672\">break<\/span><span style=\"color: #F8F8F2\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">        }<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">        videos <\/span><span style=\"color: #F92672\">=<\/span><span style=\"color: #F8F8F2\"> videos.<\/span><span style=\"color: #A6E22E\">concat<\/span><span style=\"color: #F8F8F2\">(data.items);<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">        totalFetched <\/span><span style=\"color: #F92672\">+=<\/span><span style=\"color: #F8F8F2\"> data.items.length;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">        nextPageToken <\/span><span style=\"color: #F92672\">=<\/span><span style=\"color: #F8F8F2\"> data.nextPageToken <\/span><span style=\"color: #F92672\">||<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #AE81FF\">null<\/span><span style=\"color: #F8F8F2\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">        Logger.<\/span><span style=\"color: #A6E22E\">log<\/span><span style=\"color: #F8F8F2\">(<\/span><span style=\"color: #E6DB74\">`Fetched <\/span><span style=\"color: #F92672\">${<\/span><span style=\"color: #F8F8F2\">data.items.length<\/span><span style=\"color: #F92672\">}<\/span><span style=\"color: #E6DB74\"> videos, Total fetched: <\/span><span style=\"color: #F92672\">${<\/span><span style=\"color: #F8F8F2\">totalFetched<\/span><span style=\"color: #F92672\">}<\/span><span style=\"color: #E6DB74\">`<\/span><span style=\"color: #F8F8F2\">);<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">    }<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Retrieve up to 100 videos from the channel using the YouTube Data API&#8217;s search endpoint.<\/li>\n\n\n\n<li>Use pagination to repeatedly fetch videos until the specified range is fully retrieved.<\/li>\n<\/ul>\n<\/dd>\n\n\n\n<dt class=\"swell-block-dl__dt\">Creating a List of Video IDs and Retrieving Video Details<\/dt>\n\n\n\n<dd class=\"swell-block-dl__dd\">\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span role=\"button\" tabindex=\"0\" data-code=\"    \/\/ Extract the required range and retrieve video IDs\n    var videoIds = videos.slice(startIndex - 1, endIndex).map(item =&gt; item.id.videoId).join(',');\n\n    \/\/ Fetch detailed information (view count, likes, duration) using the videos endpoint\n    var detailsUrl = `https:\/\/www.googleapis.com\/youtube\/v3\/videos?key=${apiKey}&amp;id=${videoIds}&amp;part=snippet,contentDetails,statistics`;\n    var detailsResponse = UrlFetchApp.fetch(detailsUrl);\n    var detailsData = JSON.parse(detailsResponse.getContentText());\n\" style=\"color:#F8F8F2;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki monokai\" style=\"background-color: #272822\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #F8F8F2\">    <\/span><span style=\"color: #88846F\">\/\/ Extract the required range and retrieve video IDs<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">    <\/span><span style=\"color: #66D9EF; font-style: italic\">var<\/span><span style=\"color: #F8F8F2\"> videoIds <\/span><span style=\"color: #F92672\">=<\/span><span style=\"color: #F8F8F2\"> videos.<\/span><span style=\"color: #A6E22E\">slice<\/span><span style=\"color: #F8F8F2\">(startIndex <\/span><span style=\"color: #F92672\">-<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #AE81FF\">1<\/span><span style=\"color: #F8F8F2\">, endIndex).<\/span><span style=\"color: #A6E22E\">map<\/span><span style=\"color: #F8F8F2\">(<\/span><span style=\"color: #FD971F; font-style: italic\">item<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #66D9EF; font-style: italic\">=&gt;<\/span><span style=\"color: #F8F8F2\"> item.id.videoId).<\/span><span style=\"color: #A6E22E\">join<\/span><span style=\"color: #F8F8F2\">(<\/span><span style=\"color: #E6DB74\">&#39;,&#39;<\/span><span style=\"color: #F8F8F2\">);<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">    <\/span><span style=\"color: #88846F\">\/\/ Fetch detailed information (view count, likes, duration) using the videos endpoint<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">    <\/span><span style=\"color: #66D9EF; font-style: italic\">var<\/span><span style=\"color: #F8F8F2\"> detailsUrl <\/span><span style=\"color: #F92672\">=<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #E6DB74\">`https:\/\/www.googleapis.com\/youtube\/v3\/videos?key=<\/span><span style=\"color: #F92672\">${<\/span><span style=\"color: #F8F8F2\">apiKey<\/span><span style=\"color: #F92672\">}<\/span><span style=\"color: #E6DB74\">&amp;id=<\/span><span style=\"color: #F92672\">${<\/span><span style=\"color: #F8F8F2\">videoIds<\/span><span style=\"color: #F92672\">}<\/span><span style=\"color: #E6DB74\">&amp;part=snippet,contentDetails,statistics`<\/span><span style=\"color: #F8F8F2\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">    <\/span><span style=\"color: #66D9EF; font-style: italic\">var<\/span><span style=\"color: #F8F8F2\"> detailsResponse <\/span><span style=\"color: #F92672\">=<\/span><span style=\"color: #F8F8F2\"> UrlFetchApp.<\/span><span style=\"color: #A6E22E\">fetch<\/span><span style=\"color: #F8F8F2\">(detailsUrl);<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">    <\/span><span style=\"color: #66D9EF; font-style: italic\">var<\/span><span style=\"color: #F8F8F2\"> detailsData <\/span><span style=\"color: #F92672\">=<\/span><span style=\"color: #F8F8F2\"> JSON.<\/span><span style=\"color: #A6E22E\">parse<\/span><span style=\"color: #F8F8F2\">(detailsResponse.<\/span><span style=\"color: #A6E22E\">getContentText<\/span><span style=\"color: #F8F8F2\">());<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre><\/div>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Create a list of video IDs from the retrieved videos within the specified range, and fetch detailed information such as view count, like count, and video duration in a single request.<\/li>\n<\/ul>\n<\/dd>\n\n\n\n<dt class=\"swell-block-dl__dt\">Writing to the Spreadsheet<\/dt>\n\n\n\n<dd class=\"swell-block-dl__dd\">\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span role=\"button\" tabindex=\"0\" data-code=\"    \/\/ Write data to the spreadsheet\n    detailsData.items.forEach(function(item, index) {\n        var videoId = item.id;\n        var title = item.snippet.title;\n        var publishedAt = item.snippet.publishedAt;\n        var thumbnailUrl = item.snippet.thumbnails.default.url; \/\/ Default thumbnail URL\n        var channelTitle = item.snippet.channelTitle;\n        var viewCount = item.statistics.viewCount;\n        var likeCount = item.statistics.likeCount;\n        var videoUrl = `https:\/\/www.youtube.com\/watch?v=${videoId}`;\n\n        \/\/ Format the video duration from ISO 8601\n        var duration = formatDuration(item.contentDetails.duration);\n\n        Logger.log(`Writing to row ${lastRow + index + 1}: ${title}`);\n\n        sheet.getRange(lastRow + index + 1, 1).setValue(videoId);         \/\/ Column A: Video ID\n        sheet.getRange(lastRow + index + 1, 2).setValue(title);           \/\/ Column B: Title\n        sheet.getRange(lastRow + index + 1, 3).setValue(publishedAt);     \/\/ Column C: Publish Date\n        sheet.getRange(lastRow + index + 1, 4).setFormula(`=IMAGE(&quot;${thumbnailUrl}&quot;)`); \/\/ Column D: Thumbnail\n        sheet.getRange(lastRow + index + 1, 5).setValue(channelTitle);    \/\/ Column E: Channel Title\n        sheet.getRange(lastRow + index + 1, 6).setValue(viewCount);       \/\/ Column F: View Count\n        sheet.getRange(lastRow + index + 1, 7).setValue(likeCount);       \/\/ Column G: Like Count\n        sheet.getRange(lastRow + index + 1, 8).setValue(duration);        \/\/ Column H: Video Duration\n        sheet.getRange(lastRow + index + 1, 9).setValue(videoUrl);        \/\/ Column I: Video URL\n    });\n}\n\" style=\"color:#F8F8F2;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki monokai\" style=\"background-color: #272822\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #F8F8F2\">    <\/span><span style=\"color: #88846F\">\/\/ Write data to the spreadsheet<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">    detailsData.items.<\/span><span style=\"color: #A6E22E\">forEach<\/span><span style=\"color: #F8F8F2\">(<\/span><span style=\"color: #66D9EF; font-style: italic\">function<\/span><span style=\"color: #F8F8F2\">(<\/span><span style=\"color: #FD971F; font-style: italic\">item<\/span><span style=\"color: #F8F8F2\">, <\/span><span style=\"color: #FD971F; font-style: italic\">index<\/span><span style=\"color: #F8F8F2\">) {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">        <\/span><span style=\"color: #66D9EF; font-style: italic\">var<\/span><span style=\"color: #F8F8F2\"> videoId <\/span><span style=\"color: #F92672\">=<\/span><span style=\"color: #F8F8F2\"> item.id;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">        <\/span><span style=\"color: #66D9EF; font-style: italic\">var<\/span><span style=\"color: #F8F8F2\"> title <\/span><span style=\"color: #F92672\">=<\/span><span style=\"color: #F8F8F2\"> item.snippet.title;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">        <\/span><span style=\"color: #66D9EF; font-style: italic\">var<\/span><span style=\"color: #F8F8F2\"> publishedAt <\/span><span style=\"color: #F92672\">=<\/span><span style=\"color: #F8F8F2\"> item.snippet.publishedAt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">        <\/span><span style=\"color: #66D9EF; font-style: italic\">var<\/span><span style=\"color: #F8F8F2\"> thumbnailUrl <\/span><span style=\"color: #F92672\">=<\/span><span style=\"color: #F8F8F2\"> item.snippet.thumbnails.default.url; <\/span><span style=\"color: #88846F\">\/\/ Default thumbnail URL<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">        <\/span><span style=\"color: #66D9EF; font-style: italic\">var<\/span><span style=\"color: #F8F8F2\"> channelTitle <\/span><span style=\"color: #F92672\">=<\/span><span style=\"color: #F8F8F2\"> item.snippet.channelTitle;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">        <\/span><span style=\"color: #66D9EF; font-style: italic\">var<\/span><span style=\"color: #F8F8F2\"> viewCount <\/span><span style=\"color: #F92672\">=<\/span><span style=\"color: #F8F8F2\"> item.statistics.viewCount;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">        <\/span><span style=\"color: #66D9EF; font-style: italic\">var<\/span><span style=\"color: #F8F8F2\"> likeCount <\/span><span style=\"color: #F92672\">=<\/span><span style=\"color: #F8F8F2\"> item.statistics.likeCount;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">        <\/span><span style=\"color: #66D9EF; font-style: italic\">var<\/span><span style=\"color: #F8F8F2\"> videoUrl <\/span><span style=\"color: #F92672\">=<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #E6DB74\">`https:\/\/www.youtube.com\/watch?v=<\/span><span style=\"color: #F92672\">${<\/span><span style=\"color: #F8F8F2\">videoId<\/span><span style=\"color: #F92672\">}<\/span><span style=\"color: #E6DB74\">`<\/span><span style=\"color: #F8F8F2\">;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">        <\/span><span style=\"color: #88846F\">\/\/ Format the video duration from ISO 8601<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">        <\/span><span style=\"color: #66D9EF; font-style: italic\">var<\/span><span style=\"color: #F8F8F2\"> duration <\/span><span style=\"color: #F92672\">=<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #A6E22E\">formatDuration<\/span><span style=\"color: #F8F8F2\">(item.contentDetails.duration);<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">        Logger.<\/span><span style=\"color: #A6E22E\">log<\/span><span style=\"color: #F8F8F2\">(<\/span><span style=\"color: #E6DB74\">`Writing to row <\/span><span style=\"color: #F92672\">${<\/span><span style=\"color: #F8F8F2\">lastRow <\/span><span style=\"color: #F92672\">+<\/span><span style=\"color: #F8F8F2\"> index <\/span><span style=\"color: #F92672\">+<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #AE81FF\">1<\/span><span style=\"color: #F92672\">}<\/span><span style=\"color: #E6DB74\">: <\/span><span style=\"color: #F92672\">${<\/span><span style=\"color: #F8F8F2\">title<\/span><span style=\"color: #F92672\">}<\/span><span style=\"color: #E6DB74\">`<\/span><span style=\"color: #F8F8F2\">);<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">        sheet.<\/span><span style=\"color: #A6E22E\">getRange<\/span><span style=\"color: #F8F8F2\">(lastRow <\/span><span style=\"color: #F92672\">+<\/span><span style=\"color: #F8F8F2\"> index <\/span><span style=\"color: #F92672\">+<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #AE81FF\">1<\/span><span style=\"color: #F8F8F2\">, <\/span><span style=\"color: #AE81FF\">1<\/span><span style=\"color: #F8F8F2\">).<\/span><span style=\"color: #A6E22E\">setValue<\/span><span style=\"color: #F8F8F2\">(videoId);         <\/span><span style=\"color: #88846F\">\/\/ Column A: Video ID<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">        sheet.<\/span><span style=\"color: #A6E22E\">getRange<\/span><span style=\"color: #F8F8F2\">(lastRow <\/span><span style=\"color: #F92672\">+<\/span><span style=\"color: #F8F8F2\"> index <\/span><span style=\"color: #F92672\">+<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #AE81FF\">1<\/span><span style=\"color: #F8F8F2\">, <\/span><span style=\"color: #AE81FF\">2<\/span><span style=\"color: #F8F8F2\">).<\/span><span style=\"color: #A6E22E\">setValue<\/span><span style=\"color: #F8F8F2\">(title);           <\/span><span style=\"color: #88846F\">\/\/ Column B: Title<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">        sheet.<\/span><span style=\"color: #A6E22E\">getRange<\/span><span style=\"color: #F8F8F2\">(lastRow <\/span><span style=\"color: #F92672\">+<\/span><span style=\"color: #F8F8F2\"> index <\/span><span style=\"color: #F92672\">+<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #AE81FF\">1<\/span><span style=\"color: #F8F8F2\">, <\/span><span style=\"color: #AE81FF\">3<\/span><span style=\"color: #F8F8F2\">).<\/span><span style=\"color: #A6E22E\">setValue<\/span><span style=\"color: #F8F8F2\">(publishedAt);     <\/span><span style=\"color: #88846F\">\/\/ Column C: Publish Date<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">        sheet.<\/span><span style=\"color: #A6E22E\">getRange<\/span><span style=\"color: #F8F8F2\">(lastRow <\/span><span style=\"color: #F92672\">+<\/span><span style=\"color: #F8F8F2\"> index <\/span><span style=\"color: #F92672\">+<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #AE81FF\">1<\/span><span style=\"color: #F8F8F2\">, <\/span><span style=\"color: #AE81FF\">4<\/span><span style=\"color: #F8F8F2\">).<\/span><span style=\"color: #A6E22E\">setFormula<\/span><span style=\"color: #F8F8F2\">(<\/span><span style=\"color: #E6DB74\">`=IMAGE(&quot;<\/span><span style=\"color: #F92672\">${<\/span><span style=\"color: #F8F8F2\">thumbnailUrl<\/span><span style=\"color: #F92672\">}<\/span><span style=\"color: #E6DB74\">&quot;)`<\/span><span style=\"color: #F8F8F2\">); <\/span><span style=\"color: #88846F\">\/\/ Column D: Thumbnail<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">        sheet.<\/span><span style=\"color: #A6E22E\">getRange<\/span><span style=\"color: #F8F8F2\">(lastRow <\/span><span style=\"color: #F92672\">+<\/span><span style=\"color: #F8F8F2\"> index <\/span><span style=\"color: #F92672\">+<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #AE81FF\">1<\/span><span style=\"color: #F8F8F2\">, <\/span><span style=\"color: #AE81FF\">5<\/span><span style=\"color: #F8F8F2\">).<\/span><span style=\"color: #A6E22E\">setValue<\/span><span style=\"color: #F8F8F2\">(channelTitle);    <\/span><span style=\"color: #88846F\">\/\/ Column E: Channel Title<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">        sheet.<\/span><span style=\"color: #A6E22E\">getRange<\/span><span style=\"color: #F8F8F2\">(lastRow <\/span><span style=\"color: #F92672\">+<\/span><span style=\"color: #F8F8F2\"> index <\/span><span style=\"color: #F92672\">+<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #AE81FF\">1<\/span><span style=\"color: #F8F8F2\">, <\/span><span style=\"color: #AE81FF\">6<\/span><span style=\"color: #F8F8F2\">).<\/span><span style=\"color: #A6E22E\">setValue<\/span><span style=\"color: #F8F8F2\">(viewCount);       <\/span><span style=\"color: #88846F\">\/\/ Column F: View Count<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">        sheet.<\/span><span style=\"color: #A6E22E\">getRange<\/span><span style=\"color: #F8F8F2\">(lastRow <\/span><span style=\"color: #F92672\">+<\/span><span style=\"color: #F8F8F2\"> index <\/span><span style=\"color: #F92672\">+<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #AE81FF\">1<\/span><span style=\"color: #F8F8F2\">, <\/span><span style=\"color: #AE81FF\">7<\/span><span style=\"color: #F8F8F2\">).<\/span><span style=\"color: #A6E22E\">setValue<\/span><span style=\"color: #F8F8F2\">(likeCount);       <\/span><span style=\"color: #88846F\">\/\/ Column G: Like Count<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">        sheet.<\/span><span style=\"color: #A6E22E\">getRange<\/span><span style=\"color: #F8F8F2\">(lastRow <\/span><span style=\"color: #F92672\">+<\/span><span style=\"color: #F8F8F2\"> index <\/span><span style=\"color: #F92672\">+<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #AE81FF\">1<\/span><span style=\"color: #F8F8F2\">, <\/span><span style=\"color: #AE81FF\">8<\/span><span style=\"color: #F8F8F2\">).<\/span><span style=\"color: #A6E22E\">setValue<\/span><span style=\"color: #F8F8F2\">(duration);        <\/span><span style=\"color: #88846F\">\/\/ Column H: Video Duration<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">        sheet.<\/span><span style=\"color: #A6E22E\">getRange<\/span><span style=\"color: #F8F8F2\">(lastRow <\/span><span style=\"color: #F92672\">+<\/span><span style=\"color: #F8F8F2\"> index <\/span><span style=\"color: #F92672\">+<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #AE81FF\">1<\/span><span style=\"color: #F8F8F2\">, <\/span><span style=\"color: #AE81FF\">9<\/span><span style=\"color: #F8F8F2\">).<\/span><span style=\"color: #A6E22E\">setValue<\/span><span style=\"color: #F8F8F2\">(videoUrl);        <\/span><span style=\"color: #88846F\">\/\/ Column I: Video URL<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">    });<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">}<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre><\/div>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Write video information sequentially into each cell from <strong>columns<\/strong> <strong>A<\/strong> to <strong>I<\/strong>.<\/li>\n\n\n\n<li>Use the<code>=IMAGE()<\/code>function to display the thumbnail image within the cell.<\/li>\n\n\n\n<li>After writing, the data is appended to the next available row, ensuring that existing data is not overwritten, even when retrieving video information in multiple batches.<\/li>\n<\/ul>\n<\/dd>\n\n\n\n<dt class=\"swell-block-dl__dt\">Convert Video Duration to &#8220;HH:MM&#8221; Format<\/dt>\n\n\n\n<dd class=\"swell-block-dl__dd\">\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span role=\"button\" tabindex=\"0\" data-code=\"\/\/ Convert ISO 8601 duration to &quot;HH:MM:SS&quot; format\nfunction formatDuration(duration) {\n    var matches = duration.match(\/PT(\\d+H)?(\\d+M)?(\\d+S)?\/);\n    var hours = (matches[1] ? matches[1].replace('H', '') : '00').padStart(2, '0');\n    var minutes = (matches[2] ? matches[2].replace('M', '') : '00').padStart(2, '0');\n    var seconds = (matches[3] ? matches[3].replace('S', '') : '00').padStart(2, '0');\n    return `${hours}:${minutes}:${seconds}`;\n}\" style=\"color:#F8F8F2;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki monokai\" style=\"background-color: #272822\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #88846F\">\/\/ Convert ISO 8601 duration to &quot;HH:MM:SS&quot; format<\/span><\/span>\n<span class=\"line\"><span style=\"color: #66D9EF; font-style: italic\">function<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #A6E22E\">formatDuration<\/span><span style=\"color: #F8F8F2\">(<\/span><span style=\"color: #FD971F; font-style: italic\">duration<\/span><span style=\"color: #F8F8F2\">) {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">    <\/span><span style=\"color: #66D9EF; font-style: italic\">var<\/span><span style=\"color: #F8F8F2\"> matches <\/span><span style=\"color: #F92672\">=<\/span><span style=\"color: #F8F8F2\"> duration.<\/span><span style=\"color: #A6E22E\">match<\/span><span style=\"color: #F8F8F2\">(<\/span><span style=\"color: #E6DB74\">\/PT(<\/span><span style=\"color: #AE81FF\">\\d<\/span><span style=\"color: #F92672\">+<\/span><span style=\"color: #E6DB74\">H)<\/span><span style=\"color: #F92672\">?<\/span><span style=\"color: #E6DB74\">(<\/span><span style=\"color: #AE81FF\">\\d<\/span><span style=\"color: #F92672\">+<\/span><span style=\"color: #E6DB74\">M)<\/span><span style=\"color: #F92672\">?<\/span><span style=\"color: #E6DB74\">(<\/span><span style=\"color: #AE81FF\">\\d<\/span><span style=\"color: #F92672\">+<\/span><span style=\"color: #E6DB74\">S)<\/span><span style=\"color: #F92672\">?<\/span><span style=\"color: #E6DB74\">\/<\/span><span style=\"color: #F8F8F2\">);<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">    <\/span><span style=\"color: #66D9EF; font-style: italic\">var<\/span><span style=\"color: #F8F8F2\"> hours <\/span><span style=\"color: #F92672\">=<\/span><span style=\"color: #F8F8F2\"> (matches[<\/span><span style=\"color: #AE81FF\">1<\/span><span style=\"color: #F8F8F2\">] <\/span><span style=\"color: #F92672\">?<\/span><span style=\"color: #F8F8F2\"> matches[<\/span><span style=\"color: #AE81FF\">1<\/span><span style=\"color: #F8F8F2\">].<\/span><span style=\"color: #A6E22E\">replace<\/span><span style=\"color: #F8F8F2\">(<\/span><span style=\"color: #E6DB74\">&#39;H&#39;<\/span><span style=\"color: #F8F8F2\">, <\/span><span style=\"color: #E6DB74\">&#39;&#39;<\/span><span style=\"color: #F8F8F2\">) <\/span><span style=\"color: #F92672\">:<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #E6DB74\">&#39;00&#39;<\/span><span style=\"color: #F8F8F2\">).<\/span><span style=\"color: #A6E22E\">padStart<\/span><span style=\"color: #F8F8F2\">(<\/span><span style=\"color: #AE81FF\">2<\/span><span style=\"color: #F8F8F2\">, <\/span><span style=\"color: #E6DB74\">&#39;0&#39;<\/span><span style=\"color: #F8F8F2\">);<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">    <\/span><span style=\"color: #66D9EF; font-style: italic\">var<\/span><span style=\"color: #F8F8F2\"> minutes <\/span><span style=\"color: #F92672\">=<\/span><span style=\"color: #F8F8F2\"> (matches[<\/span><span style=\"color: #AE81FF\">2<\/span><span style=\"color: #F8F8F2\">] <\/span><span style=\"color: #F92672\">?<\/span><span style=\"color: #F8F8F2\"> matches[<\/span><span style=\"color: #AE81FF\">2<\/span><span style=\"color: #F8F8F2\">].<\/span><span style=\"color: #A6E22E\">replace<\/span><span style=\"color: #F8F8F2\">(<\/span><span style=\"color: #E6DB74\">&#39;M&#39;<\/span><span style=\"color: #F8F8F2\">, <\/span><span style=\"color: #E6DB74\">&#39;&#39;<\/span><span style=\"color: #F8F8F2\">) <\/span><span style=\"color: #F92672\">:<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #E6DB74\">&#39;00&#39;<\/span><span style=\"color: #F8F8F2\">).<\/span><span style=\"color: #A6E22E\">padStart<\/span><span style=\"color: #F8F8F2\">(<\/span><span style=\"color: #AE81FF\">2<\/span><span style=\"color: #F8F8F2\">, <\/span><span style=\"color: #E6DB74\">&#39;0&#39;<\/span><span style=\"color: #F8F8F2\">);<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">    <\/span><span style=\"color: #66D9EF; font-style: italic\">var<\/span><span style=\"color: #F8F8F2\"> seconds <\/span><span style=\"color: #F92672\">=<\/span><span style=\"color: #F8F8F2\"> (matches[<\/span><span style=\"color: #AE81FF\">3<\/span><span style=\"color: #F8F8F2\">] <\/span><span style=\"color: #F92672\">?<\/span><span style=\"color: #F8F8F2\"> matches[<\/span><span style=\"color: #AE81FF\">3<\/span><span style=\"color: #F8F8F2\">].<\/span><span style=\"color: #A6E22E\">replace<\/span><span style=\"color: #F8F8F2\">(<\/span><span style=\"color: #E6DB74\">&#39;S&#39;<\/span><span style=\"color: #F8F8F2\">, <\/span><span style=\"color: #E6DB74\">&#39;&#39;<\/span><span style=\"color: #F8F8F2\">) <\/span><span style=\"color: #F92672\">:<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #E6DB74\">&#39;00&#39;<\/span><span style=\"color: #F8F8F2\">).<\/span><span style=\"color: #A6E22E\">padStart<\/span><span style=\"color: #F8F8F2\">(<\/span><span style=\"color: #AE81FF\">2<\/span><span style=\"color: #F8F8F2\">, <\/span><span style=\"color: #E6DB74\">&#39;0&#39;<\/span><span style=\"color: #F8F8F2\">);<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">    <\/span><span style=\"color: #F92672\">return<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #E6DB74\">`<\/span><span style=\"color: #F92672\">${<\/span><span style=\"color: #F8F8F2\">hours<\/span><span style=\"color: #F92672\">}<\/span><span style=\"color: #E6DB74\">:<\/span><span style=\"color: #F92672\">${<\/span><span style=\"color: #F8F8F2\">minutes<\/span><span style=\"color: #F92672\">}<\/span><span style=\"color: #E6DB74\">:<\/span><span style=\"color: #F92672\">${<\/span><span style=\"color: #F8F8F2\">seconds<\/span><span style=\"color: #F92672\">}<\/span><span style=\"color: #E6DB74\">`<\/span><span style=\"color: #F8F8F2\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">}<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Since the video duration is retrieved in ISO 8601 format, a function is provided to convert it into the &#8220;HH:MM&#8221; format.<\/li>\n\n\n\n<li>This function converts the retrieved video duration into a readable format and writes it to the spreadsheet.<\/li>\n<\/ul>\n<\/dd>\n<\/dl>\n<\/div><\/details>\n<\/div>\n<\/div><\/div>\n\n\n\n<div class=\"swell-block-step__item\"><div class=\"swell-block-step__number u-bg-main\"><span class=\"__label\">STEP<\/span><\/div><div class=\"swell-block-step__title u-fz-l\"><strong>Save the Script<\/strong><\/div><div class=\"swell-block-step__body\">\n<figure class=\"wp-block-image size-large u-mb-ctrl u-mb-40\"><img decoding=\"async\" width=\"1024\" height=\"411\" src=\"https:\/\/84office.jp\/wp-content\/uploads\/2024\/12\/4ac78e733650f1115dadbbf40ca23139-1-1024x411.png\" alt=\"\" class=\"wp-image-16860\" srcset=\"https:\/\/84office.jp\/wp-content\/uploads\/2024\/12\/4ac78e733650f1115dadbbf40ca23139-1-1024x411.png 1024w, https:\/\/84office.jp\/wp-content\/uploads\/2024\/12\/4ac78e733650f1115dadbbf40ca23139-1-300x120.png 300w, https:\/\/84office.jp\/wp-content\/uploads\/2024\/12\/4ac78e733650f1115dadbbf40ca23139-1-768x308.png 768w, https:\/\/84office.jp\/wp-content\/uploads\/2024\/12\/4ac78e733650f1115dadbbf40ca23139-1-1536x616.png 1536w, https:\/\/84office.jp\/wp-content\/uploads\/2024\/12\/4ac78e733650f1115dadbbf40ca23139-1.png 1598w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Once the script is written, save it with an appropriate name.<\/p>\n\n\n\n<p>(Example: &#8220;YouTube Data Retrieval&#8221;)<\/p>\n<\/div><\/div>\n\n\n\n<div class=\"swell-block-step__item\"><div class=\"swell-block-step__number u-bg-main\"><span class=\"__label\">STEP<\/span><\/div><div class=\"swell-block-step__title u-fz-l\">Run the Script<\/div><div class=\"swell-block-step__body\"><div class=\"wp-block-image u-mb-ctrl u-mb-40\">\n<figure class=\"alignleft size-large\"><img decoding=\"async\" width=\"1024\" height=\"411\" src=\"https:\/\/84office.jp\/wp-content\/uploads\/2024\/12\/4ac78e733650f1115dadbbf40ca23139-2-1024x411.png\" alt=\"\" class=\"wp-image-16861\" srcset=\"https:\/\/84office.jp\/wp-content\/uploads\/2024\/12\/4ac78e733650f1115dadbbf40ca23139-2-1024x411.png 1024w, https:\/\/84office.jp\/wp-content\/uploads\/2024\/12\/4ac78e733650f1115dadbbf40ca23139-2-300x120.png 300w, https:\/\/84office.jp\/wp-content\/uploads\/2024\/12\/4ac78e733650f1115dadbbf40ca23139-2-768x308.png 768w, https:\/\/84office.jp\/wp-content\/uploads\/2024\/12\/4ac78e733650f1115dadbbf40ca23139-2-1536x616.png 1536w, https:\/\/84office.jp\/wp-content\/uploads\/2024\/12\/4ac78e733650f1115dadbbf40ca23139-2.png 1598w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n<\/div>\n\n\n<p class=\"u-mb-ctrl u-mb-40\">Running the script will retrieve YouTube data.<\/p>\n\n\n\n<div class=\"wp-block-group is-style-big_icon_memo u-mb-ctrl u-mb-60\"><div class=\"wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained\">\n<p>If you&#8217;re running the script for the first time, you need to authorize it.<\/p>\n\n\n\n<p><strong>Therefore, press &#8220;<strong>Review Permissions.<\/strong>&#8220;<\/strong><\/p>\n\n\n<div class=\"wp-block-image u-mb-ctrl u-mb-50\">\n<figure class=\"alignleft size-full\"><img decoding=\"async\" width=\"882\" height=\"345\" src=\"https:\/\/84office.jp\/wp-content\/uploads\/2024\/11\/image-79.png\" alt=\"\" class=\"wp-image-15938\" srcset=\"https:\/\/84office.jp\/wp-content\/uploads\/2024\/11\/image-79.png 882w, https:\/\/84office.jp\/wp-content\/uploads\/2024\/11\/image-79-300x117.png 300w, https:\/\/84office.jp\/wp-content\/uploads\/2024\/11\/image-79-768x300.png 768w\" sizes=\"(max-width: 882px) 100vw, 882px\" \/><\/figure>\n<\/div>\n\n\n<div class=\"swell-block-accordion\">\n<details class=\"swell-block-accordion__item\" data-swl-acc=\"wrapper\"><summary class=\"swell-block-accordion__title\" data-swl-acc=\"header\"><span class=\"swell-block-accordion__label\">Detailed Authorization Steps<\/span><span class=\"swell-block-accordion__icon c-switchIconBtn\" data-swl-acc=\"icon\" aria-hidden=\"true\" data-opened=\"false\"><i class=\"__icon--closed icon-caret-down\"><\/i><i class=\"__icon--opened icon-caret-up\"><\/i><\/span><\/summary><div class=\"swell-block-accordion__body\" data-swl-acc=\"body\">\n<p><strong>Press &#8220;Advanced.&#8221;<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-image size-full u-mb-ctrl u-mb-50\"><img decoding=\"async\" width=\"1272\" height=\"688\" src=\"https:\/\/84office.jp\/wp-content\/uploads\/2024\/11\/188993dfac23ed4b35c326d75de2796d.jpg\" alt=\"\" class=\"wp-image-15939\" srcset=\"https:\/\/84office.jp\/wp-content\/uploads\/2024\/11\/188993dfac23ed4b35c326d75de2796d.jpg 1272w, https:\/\/84office.jp\/wp-content\/uploads\/2024\/11\/188993dfac23ed4b35c326d75de2796d-300x162.jpg 300w, https:\/\/84office.jp\/wp-content\/uploads\/2024\/11\/188993dfac23ed4b35c326d75de2796d-1024x554.jpg 1024w, https:\/\/84office.jp\/wp-content\/uploads\/2024\/11\/188993dfac23ed4b35c326d75de2796d-768x415.jpg 768w\" sizes=\"(max-width: 1272px) 100vw, 1272px\" \/><\/figure>\n\n\n\n\n\n\n\n<p><strong>Press &#8220;Go to Untitled project (Unsafe).&#8221;<\/strong><\/p>\n\n\n<div class=\"wp-block-image u-mb-ctrl u-mb-50\">\n<figure class=\"alignleft size-full\"><img decoding=\"async\" width=\"1305\" height=\"893\" src=\"https:\/\/84office.jp\/wp-content\/uploads\/2024\/11\/b7775751f92380510b389302eaafe1b9.jpg\" alt=\"\" class=\"wp-image-15940\" srcset=\"https:\/\/84office.jp\/wp-content\/uploads\/2024\/11\/b7775751f92380510b389302eaafe1b9.jpg 1305w, https:\/\/84office.jp\/wp-content\/uploads\/2024\/11\/b7775751f92380510b389302eaafe1b9-300x205.jpg 300w, https:\/\/84office.jp\/wp-content\/uploads\/2024\/11\/b7775751f92380510b389302eaafe1b9-1024x701.jpg 1024w, https:\/\/84office.jp\/wp-content\/uploads\/2024\/11\/b7775751f92380510b389302eaafe1b9-768x526.jpg 768w\" sizes=\"(max-width: 1305px) 100vw, 1305px\" \/><\/figure>\n<\/div>\n\n\n<p><strong>After that, press &#8220;Allow.&#8221;<\/strong><\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"alignleft size-full is-resized\"><img decoding=\"async\" width=\"955\" height=\"543\" src=\"https:\/\/84office.jp\/wp-content\/uploads\/2024\/11\/7ebb34b4d2c42fa532ad1c35c1ec1049.jpg\" alt=\"\" class=\"wp-image-15941\" style=\"width:566px;height:auto\" srcset=\"https:\/\/84office.jp\/wp-content\/uploads\/2024\/11\/7ebb34b4d2c42fa532ad1c35c1ec1049.jpg 955w, https:\/\/84office.jp\/wp-content\/uploads\/2024\/11\/7ebb34b4d2c42fa532ad1c35c1ec1049-300x171.jpg 300w, https:\/\/84office.jp\/wp-content\/uploads\/2024\/11\/7ebb34b4d2c42fa532ad1c35c1ec1049-768x437.jpg 768w\" sizes=\"(max-width: 955px) 100vw, 955px\" \/><\/figure>\n<\/div>\n\n\n\n<\/div><\/details>\n<\/div>\n<\/div><\/div>\n<\/div><\/div>\n\n\n\n<div class=\"swell-block-step__item\"><div class=\"swell-block-step__number u-bg-main\"><span class=\"__label\">STEP<\/span><\/div><div class=\"swell-block-step__title u-fz-l\">Display the retrieved data as a list in the spreadsheet<\/div><div class=\"swell-block-step__body\"><div class=\"wp-block-image u-mb-ctrl u-mb-40\">\n<figure class=\"alignleft size-large\"><img decoding=\"async\" width=\"1024\" height=\"254\" src=\"https:\/\/84office.jp\/wp-content\/uploads\/2024\/12\/image-96-1024x254.png\" alt=\"\" class=\"wp-image-16862\" srcset=\"https:\/\/84office.jp\/wp-content\/uploads\/2024\/12\/image-96-1024x254.png 1024w, https:\/\/84office.jp\/wp-content\/uploads\/2024\/12\/image-96-300x74.png 300w, https:\/\/84office.jp\/wp-content\/uploads\/2024\/12\/image-96-768x191.png 768w, https:\/\/84office.jp\/wp-content\/uploads\/2024\/12\/image-96-1536x381.png 1536w, https:\/\/84office.jp\/wp-content\/uploads\/2024\/12\/image-96-2048x509.png 2048w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n<\/div>\n\n\n<p>The spreadsheet will display the specified number of videos in a list, sorted in descending order by date.<\/p>\n\n\n\n<p class=\"u-mb-ctrl u-mb-40\">By specifying the range of videos to retrieve (start and end) in cells B2 and B3, you can fetch videos from different ranges.<\/p>\n\n\n\n<p>For example, if you first retrieve videos 1\u201310 and then specify 11\u201320 and run the script, the new video information will be added below the already retrieved data.<\/p>\n<\/div><\/div>\n<\/div>\n\n\n\n<h2 class=\"wp-block-heading u-mb-ctrl u-mb-40\"><strong>Points to Note When Using the YouTube API<\/strong><\/h2>\n\n\n\n<dl class=\"swell-block-dl u-mb-ctrl u-mb-60\">\n<dt class=\"swell-block-dl__dt\"><strong>Be Aware of API Quota Limits<\/strong><\/dt>\n\n\n\n<dd class=\"swell-block-dl__dd\">\n<ul class=\"wp-block-list\">\n<li>The YouTube Data API has a daily usage limit of 10,000 quota units.<\/li>\n\n\n\n<li>Requests for detailed information (such as view count and like count) consume <strong>5 quota <\/strong>units per video.<\/li>\n\n\n\n<li>For example, retrieving detailed information for 100 videos will consume 100 videos \u00d7 5 quota units = 500 quota units.<\/li>\n\n\n\n<li>Fetching a large amount of data at once can quickly reach the quota limit.<\/li>\n<\/ul>\n<\/dd>\n\n\n\n<dt class=\"swell-block-dl__dt\"><strong><strong>Adjust the Number of Videos Retrieved Per Request<\/strong><\/strong><\/dt>\n\n\n\n<dd class=\"swell-block-dl__dd\">\n<ul class=\"wp-block-list\">\n<li>It is recommended to retrieve around 50\u2013100 videos per script execution.<\/li>\n\n\n\n<li>Specify the range in cells B2 and B3 of the spreadsheet and collect data in multiple batches for better efficiency.<\/li>\n<\/ul>\n<\/dd>\n\n\n\n<dt class=\"swell-block-dl__dt\">Checking API Usage<\/dt>\n\n\n\n<dd class=\"swell-block-dl__dd\">\n<p>You can check your API usage in the Google Cloud Console.<\/p>\n\n\n\n<div class=\"swell-block-accordion\">\n<details class=\"swell-block-accordion__item\" data-swl-acc=\"wrapper\"><summary class=\"swell-block-accordion__title\" data-swl-acc=\"header\"><span class=\"swell-block-accordion__label\">\u78ba\u8a8d\u65b9\u6cd5<\/span><span class=\"swell-block-accordion__icon c-switchIconBtn\" data-swl-acc=\"icon\" aria-hidden=\"true\" data-opened=\"false\"><i class=\"__icon--closed icon-caret-down\"><\/i><i class=\"__icon--opened icon-caret-up\"><\/i><\/span><\/summary><div class=\"swell-block-accordion__body\" data-swl-acc=\"body\">\n<ol class=\"wp-block-list\">\n<li>Log in to the <a>Google Cloud Console<\/a>.<\/li>\n\n\n\n<li>Navigate to <strong>APIs &amp; Services<\/strong> > <strong>Dashboard<\/strong>.<\/li>\n\n\n\n<li>Select the project associated with your YouTube Data API key.<\/li>\n\n\n\n<li>Locate the <strong>YouTube Data API v3<\/strong> in the list of enabled APIs.<\/li>\n\n\n\n<li>View the usage statistics, including quota consumption and remaining limits.<br><br><img decoding=\"async\" width=\"700\" height=\"327\" class=\"wp-image-15714\" style=\"width: 700px;\" src=\"https:\/\/84office.jp\/wp-content\/uploads\/2024\/11\/image-18.png\" alt=\"\" srcset=\"https:\/\/84office.jp\/wp-content\/uploads\/2024\/11\/image-18.png 1136w, https:\/\/84office.jp\/wp-content\/uploads\/2024\/11\/image-18-300x140.png 300w, https:\/\/84office.jp\/wp-content\/uploads\/2024\/11\/image-18-1024x479.png 1024w, https:\/\/84office.jp\/wp-content\/uploads\/2024\/11\/image-18-768x359.png 768w\" sizes=\"(max-width: 700px) 100vw, 700px\" \/><br><\/li>\n<\/ol>\n<\/div><\/details>\n<\/div>\n<\/dd>\n\n\n\n<dt class=\"swell-block-dl__dt\"><strong>When the Quota Limit is Reached<\/strong><\/dt>\n\n\n\n<dd class=\"swell-block-dl__dd\">\n<p>If the daily quota limit is reached, you can retrieve the data by running the script again the following day.<\/p>\n<\/dd>\n<\/dl>\n\n\n\n<h2 class=\"wp-block-heading u-mb-ctrl u-mb-30\">Conclusion<\/h2>\n\n\n\n<p><br>Using this method, you can easily compile video data not only from your own channel but also from your favorite channels into a Google Sheet.<\/p>\n\n\n\n<p class=\"u-mb-ctrl u-mb-40\">Since detailed information such as view count, like count, and video duration can also be retrieved, it makes analysis and management much more efficient.<\/p>\n\n\n<div class=\"swell-block-postLink u-mb-ctrl u-mb-40\">\t\t\t<div class=\"p-blogCard -internal\" data-type=\"type1\" data-onclick=\"clickLink\">\n\t\t\t\t<div class=\"p-blogCard__inner\">\n\t\t\t\t\t<span class=\"p-blogCard__caption\">\u3042\u308f\u305b\u3066\u8aad\u307f\u305f\u3044<\/span>\n\t\t\t\t\t<div class=\"p-blogCard__thumb c-postThumb\"><figure class=\"c-postThumb__figure\"><img decoding=\"async\" src=\"https:\/\/84office.jp\/wp-content\/uploads\/2024\/12\/2e50637a1d40175ef3385963e05ec2a8-300x158.png\" alt=\"\" class=\"c-postThumb__img u-obf-cover\" width=\"320\" height=\"180\"><\/figure><\/div>\t\t\t\t\t<div class=\"p-blogCard__body\">\n\t\t\t\t\t\t<a class=\"p-blogCard__title\" href=\"https:\/\/84office.jp\/en\/get-youtube-data-api\/\">YouTube API Key Setup: Export and Manage Video Data in Google Sheets<\/a>\n\t\t\t\t\t\t<span class=\"p-blogCard__excerpt\">To retrieve video data and channel information from YouTube and manage it in Google Sheets, the YouTube API is a powerful and convenient tool. By using the A&#8230;<\/span>\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t<\/div>\n\n<div class=\"p-postListWrap u-mb-ctrl u-mb-20\"><ul class=\"p-postList -type-card -pc-col3 -sp-col1\"><li class=\"p-postList__item\">\n\t<a href=\"https:\/\/84office.jp\/en\/google-sheets-qr-code-formula\/\" class=\"p-postList__link\">\n\t\t<div class=\"p-postList__thumb c-postThumb\">\n\t<figure class=\"c-postThumb__figure\">\n\t\t<img decoding=\"async\" width=\"1024\" height=\"538\"  src=\"https:\/\/84office.jp\/wp-content\/uploads\/2024\/12\/dd37f647444124303dd637cbbd92ba04-1024x538.png\" alt=\"\" class=\"c-postThumb__img u-obf-cover\" srcset=\"https:\/\/84office.jp\/wp-content\/uploads\/2024\/12\/dd37f647444124303dd637cbbd92ba04-1024x538.png 1024w, https:\/\/84office.jp\/wp-content\/uploads\/2024\/12\/dd37f647444124303dd637cbbd92ba04-300x158.png 300w, https:\/\/84office.jp\/wp-content\/uploads\/2024\/12\/dd37f647444124303dd637cbbd92ba04-768x403.png 768w, https:\/\/84office.jp\/wp-content\/uploads\/2024\/12\/dd37f647444124303dd637cbbd92ba04.png 1200w\" sizes=\"auto, (min-width: 960px) 400px, 100vw\" loading=\"lazy\" >\t<\/figure>\n\t\t\t<span class=\"c-postThumb__cat icon-folder\" data-cat-id=\"12\">Google Sheets<\/span>\n\t<\/div>\n\t\t\t\t\t<div class=\"p-postList__body\">\n\t\t\t\t<h2 class=\"p-postList__title\">How to Easily Generate QR Codes in Google Sheets Using Formulas<\/h2>\t\t\t\t\t\t\t\t<div class=\"p-postList__meta\">\n\t\t\t\t\t<div class=\"p-postList__times c-postTimes u-thin\">\n\t<time class=\"c-postTimes__posted icon-posted\" datetime=\"2024-12-24\" aria-label=\"\u516c\u958b\u65e5\">2024\u5e7412\u670824\u65e5<\/time><\/div>\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t\t<\/a>\n<\/li>\n<li class=\"p-postList__item\">\n\t<a href=\"https:\/\/84office.jp\/en\/googlesheets-xmatch\/\" class=\"p-postList__link\">\n\t\t<div class=\"p-postList__thumb c-postThumb\">\n\t<figure class=\"c-postThumb__figure\">\n\t\t<img decoding=\"async\" width=\"1024\" height=\"538\"  src=\"https:\/\/84office.jp\/wp-content\/uploads\/2025\/01\/513f3a0811e53a7de868b7f72fa4eb1d-1024x538.png\" alt=\"\" class=\"c-postThumb__img u-obf-cover\" srcset=\"https:\/\/84office.jp\/wp-content\/uploads\/2025\/01\/513f3a0811e53a7de868b7f72fa4eb1d-1024x538.png 1024w, https:\/\/84office.jp\/wp-content\/uploads\/2025\/01\/513f3a0811e53a7de868b7f72fa4eb1d-300x158.png 300w, https:\/\/84office.jp\/wp-content\/uploads\/2025\/01\/513f3a0811e53a7de868b7f72fa4eb1d-768x403.png 768w, https:\/\/84office.jp\/wp-content\/uploads\/2025\/01\/513f3a0811e53a7de868b7f72fa4eb1d.png 1200w\" sizes=\"auto, (min-width: 960px) 400px, 100vw\" loading=\"lazy\" >\t<\/figure>\n\t\t\t<span class=\"c-postThumb__cat icon-folder\" data-cat-id=\"12\">Google Sheets<\/span>\n\t<\/div>\n\t\t\t\t\t<div class=\"p-postList__body\">\n\t\t\t\t<h2 class=\"p-postList__title\">An Overview and How to Use the XMATCH Function in Google Sheets<\/h2>\t\t\t\t\t\t\t\t<div class=\"p-postList__meta\">\n\t\t\t\t\t<div class=\"p-postList__times c-postTimes u-thin\">\n\t<time class=\"c-postTimes__posted icon-posted\" datetime=\"2025-01-18\" aria-label=\"\u516c\u958b\u65e5\">2025\u5e741\u670818\u65e5<\/time><\/div>\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t\t<\/a>\n<\/li>\n<li class=\"p-postList__item\">\n\t<a href=\"https:\/\/84office.jp\/en\/file-access-rights-change-setup\/\" class=\"p-postList__link\">\n\t\t<div class=\"p-postList__thumb c-postThumb\">\n\t<figure class=\"c-postThumb__figure\">\n\t\t<img decoding=\"async\" width=\"1024\" height=\"538\"  src=\"https:\/\/84office.jp\/wp-content\/uploads\/2025\/01\/e9a4a320bee4a411fd943416aa77e65a-1024x538.png\" alt=\"\" class=\"c-postThumb__img u-obf-cover\" srcset=\"https:\/\/84office.jp\/wp-content\/uploads\/2025\/01\/e9a4a320bee4a411fd943416aa77e65a-1024x538.png 1024w, https:\/\/84office.jp\/wp-content\/uploads\/2025\/01\/e9a4a320bee4a411fd943416aa77e65a-300x158.png 300w, https:\/\/84office.jp\/wp-content\/uploads\/2025\/01\/e9a4a320bee4a411fd943416aa77e65a-768x403.png 768w, https:\/\/84office.jp\/wp-content\/uploads\/2025\/01\/e9a4a320bee4a411fd943416aa77e65a.png 1200w\" sizes=\"auto, (min-width: 960px) 400px, 100vw\" loading=\"lazy\" >\t<\/figure>\n\t\t\t<span class=\"c-postThumb__cat icon-folder\" data-cat-id=\"12\">Google Sheets<\/span>\n\t<\/div>\n\t\t\t\t\t<div class=\"p-postList__body\">\n\t\t\t\t<h2 class=\"p-postList__title\">Effortlessly Manage and Modify Spreadsheet Permissions Using Google Apps Script: Preparation Guide<\/h2>\t\t\t\t\t\t\t\t<div class=\"p-postList__meta\">\n\t\t\t\t\t<div class=\"p-postList__times c-postTimes u-thin\">\n\t<time class=\"c-postTimes__posted icon-posted\" datetime=\"2025-01-12\" aria-label=\"\u516c\u958b\u65e5\">2025\u5e741\u670812\u65e5<\/time><\/div>\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t\t<\/a>\n<\/li>\n<\/ul><\/div>\n\n\n<p class=\"is-style-emboss_box has-swl-pale-02-background-color has-background\">Our company offers support for improving work efficiency through the use of Google Apps Script. <br>If you need assistance with Google Apps Script customization or error resolution, please feel free to contact us. <br>We are fully committed to supporting your business improvements.<br><br><a href=\"https:\/\/84office.jp\/contact\/\">Contact us here<br><\/a><\/p>\n\n\n\n<script src=\"https:\/\/codoc.jp\/js\/cms.js\" data-css=\"rainbow\" data-usercode=\"pQLZofrBiA\" charset=\"UTF-8\" defer><\/script>\n <div id=\"codoc-entry-9lNr9PuMXQ\" class=\"codoc-entries\" data-without-body=\"1\" data-support-button-text=\"Support with a Tip\" data-support-message=\"We will keep offering tools and information to boost work efficiency. Your support helps us provide even better content.\"><\/div>\n","protected":false},"excerpt":{"rendered":"<p>n this article, I\u2019ll show you how to use the API key set up in the previous post and leverage Google Apps Scri [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":16864,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"swell_btn_cv_data":"","_locale":"en_US","_original_post":"https:\/\/84office.jp\/?p=15706","footnotes":""},"categories":[12],"tags":[],"class_list":["post-16856","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-12","en-US"],"_links":{"self":[{"href":"https:\/\/84office.jp\/wp-json\/wp\/v2\/posts\/16856","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/84office.jp\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/84office.jp\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/84office.jp\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/84office.jp\/wp-json\/wp\/v2\/comments?post=16856"}],"version-history":[{"count":3,"href":"https:\/\/84office.jp\/wp-json\/wp\/v2\/posts\/16856\/revisions"}],"predecessor-version":[{"id":22406,"href":"https:\/\/84office.jp\/wp-json\/wp\/v2\/posts\/16856\/revisions\/22406"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/84office.jp\/wp-json\/wp\/v2\/media\/16864"}],"wp:attachment":[{"href":"https:\/\/84office.jp\/wp-json\/wp\/v2\/media?parent=16856"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/84office.jp\/wp-json\/wp\/v2\/categories?post=16856"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/84office.jp\/wp-json\/wp\/v2\/tags?post=16856"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}