Оптимизируйте свои подборки
Сохраняйте и классифицируйте контент в соответствии со своими настройками.
Служба YouTube позволяет использовать API данных YouTube и API потоковой передачи YouTube Live в скриптах приложений. Этот API дает пользователям возможность управлять своими видео, плейлистами, каналами и живыми событиями.
Ссылка
Подробную информацию об этой услуге можно найти в следующей справочной документации:
Как и все расширенные службы в Apps Script, служба YouTube использует те же объекты, методы и параметры, что и общедоступный API. Дополнительные сведения см. в разделе Как определяются сигнатуры методов .
Чтобы сообщить о проблемах и получить другую поддержку, посетите соответствующие страницы поддержки:
В приведенном ниже примере кода используется версия 3 API данных YouTube.
Поиск по ключевому слову
Эта функция ищет видео о собаках, а затем записывает идентификаторы и название видео. Обратите внимание, что в этом примере количество результатов ограничено 25. Чтобы вернуть больше результатов, передайте дополнительные параметры, как показано в справочной документации API данных YouTube .
/** * Searches for videos about dogs, then logs the video IDs and title. * Note that this sample limits the results to 25. To return more * results, pass additional parameters as shown in the YouTube Data API docs. * @see https://developers.google.com/youtube/v3/docs/search/list */functionsearchByKeyword(){try{constresults=YouTube.Search.list('id,snippet',{q:'dogs',maxResults:25});if(results===null){console.log('Unabletosearchvideos');return;}results.items.forEach((item)=>{console.log('[%s]Title:%s',item.id.videoId,item.snippet.title);});}catch(err){// TODO (developer) - Handle exceptions from Youtube APIconsole.log('Failedwithanerror%s',err.message);}}
Получить загрузки
Эта функция извлекает загруженные пользователем видео. Это делается с помощью следующих шагов:
Получает канал пользователя
Извлекает список воспроизведения, uploads пользователем.
Просматривает этот список воспроизведения и регистрирует идентификаторы и заголовки видео.
Если есть следующая страница результатов, извлекает ее, а затем возвращается к шагу 3.
/** * This function retrieves the user's uploaded videos by: * 1. Fetching the user's channel's. * 2. Fetching the user's "uploads" playlist. * 3. Iterating through this playlist and logs the video IDs and titles. * 4. If there is a next page of resuts, fetching it and returns to step 3. */functionretrieveMyUploads(){try{// @see https://developers.google.com/youtube/v3/docs/channels/listconstresults=YouTube.Channels.list('contentDetails',{mine:true});if(!results||results.items.length===0){console.log('NoChannelsfound.');return;}for(leti=0;i < results.items.length;i++){constitem=results.items[i];/** Get the channel ID - it's nested in contentDetails, as described in the * Channel resource: https://developers.google.com/youtube/v3/docs/channels. */constplaylistId=item.contentDetails.relatedPlaylists.uploads;letnextPageToken=null;do{// @see: https://developers.google.com/youtube/v3/docs/playlistItems/listconstplaylistResponse=YouTube.PlaylistItems.list('snippet',{playlistId:playlistId,maxResults:25,pageToken:nextPageToken});if(!playlistResponse||playlistResponse.items.length===0){console.log('NoPlaylistfound.');break;}for(letj=0;j < playlistResponse.items.length;j++){constplaylistItem=playlistResponse.items[j];console.log('[%s]Title:%s',playlistItem.snippet.resourceId.videoId,playlistItem.snippet.title);}nextPageToken=playlistResponse.nextPageToken;}while(nextPageToken);}}catch(err){// TODO (developer) - Handle exceptionconsole.log('Failedwitherr%s',err.message);}}
Подписаться на канал
В этом примере пользователь подписывается на канал разработчиков Google на YouTube.
/** * This sample subscribes the user to the Google Developers channel on YouTube. * @see https://developers.google.com/youtube/v3/docs/subscriptions/insert */functionaddSubscription(){// Replace this channel ID with the channel ID you want to subscribe toconstchannelId='UC_x5XG1OV2P6uZZ5FSM9Ttw';constresource={snippet:{resourceId:{kind:'youtube#channel',channelId:channelId}}};try{constresponse=YouTube.Subscriptions.insert(resource,'snippet');console.log('Addedsubscriptionforchanneltitle:%s',response.snippet.title);}catch(e){if(e.message.match('subscriptionDuplicate')){console.log('Cannotsubscribe;alreadysubscribedtochannel:'+channelId);}else{// TODO (developer) - Handle exceptionconsole.log('Erroraddingsubscription:'+e.message);}}}
[[["Прост для понимания","easyToUnderstand","thumb-up"],["Помог мне решить мою проблему","solvedMyProblem","thumb-up"],["Другое","otherUp","thumb-up"]],[["Отсутствует нужная мне информация","missingTheInformationINeed","thumb-down"],["Слишком сложен/слишком много шагов","tooComplicatedTooManySteps","thumb-down"],["Устарел","outOfDate","thumb-down"],["Проблема с переводом текста","translationIssue","thumb-down"],["Проблемы образцов/кода","samplesCodeIssue","thumb-down"],["Другое","otherDown","thumb-down"]],["Последнее обновление: 2025-06-05 UTC."],[[["The YouTube service in Apps Script allows you to manage videos, playlists, channels, and live events using the YouTube Data API and YouTube Live Streaming API."],["This is an advanced service that needs to be enabled before use within your Apps Script project."],["Sample code is provided to demonstrate searching for videos, retrieving user uploads, and subscribing to channels using the API."],["Refer to the YouTube Data API and YouTube Live Streaming API reference documentation for detailed information and further functionalities."]]],[]]