Mit Sammlungen den Überblick behalten
Sie können Inhalte basierend auf Ihren Einstellungen speichern und kategorisieren.
Mit dem YouTube-Dienst können Sie die YouTube Data API und die YouTube Live Streaming API in Apps Script verwenden. Mit dieser API können Nutzer ihre Videos, Playlists, Kanäle und Livestreams verwalten.
Referenz
Ausführliche Informationen zu diesem Dienst finden Sie in der folgenden Referenzdokumentation:
Wie alle erweiterten Dienste in Apps Script verwendet der YouTube-Dienst dieselben Objekte, Methoden und Parameter wie die öffentliche API. Weitere Informationen finden Sie unter Methodensignaturen bestimmen.
Auf den entsprechenden Supportseiten können Sie Probleme melden und weitere Unterstützung erhalten:
Im folgenden Beispielcode wird die Version 3 der YouTube Data API verwendet.
Nach Keyword suchen
Diese Funktion sucht nach Videos über Hunde und protokolliert dann die Video-IDs und den Titel.
Beachten Sie, dass die Ergebnisse in diesem Beispiel auf 25 eingeschränkt sind. Wenn du mehr Ergebnisse zurückgeben möchtest, kannst du zusätzliche Parameter übergeben, wie in der Referenzdokumentation zur YouTube Data API beschrieben.
/** * 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 abrufen
Mit dieser Funktion werden die hochgeladenen Videos des Nutzers abgerufen. Dazu gehen Sie so vor:
Ruft den Kanal des Nutzers ab
Ruft die uploads-Playlist des Nutzers ab
Diese Playlist wird durchlaufen und die Video-IDs und -Titel werden protokolliert.
Wenn es eine nächste Ergebnisseite gibt, wird sie abgerufen und es wird zu Schritt 3 zurückgekehrt.
/** * 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);}}
Kanal abonnieren
In diesem Beispiel abonniert der Nutzer den YouTube-Kanal „Google Developers“.
/** * 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);}}}
[[["Leicht verständlich","easyToUnderstand","thumb-up"],["Mein Problem wurde gelöst","solvedMyProblem","thumb-up"],["Sonstiges","otherUp","thumb-up"]],[["Benötigte Informationen nicht gefunden","missingTheInformationINeed","thumb-down"],["Zu umständlich/zu viele Schritte","tooComplicatedTooManySteps","thumb-down"],["Nicht mehr aktuell","outOfDate","thumb-down"],["Problem mit der Übersetzung","translationIssue","thumb-down"],["Problem mit Beispielen/Code","samplesCodeIssue","thumb-down"],["Sonstiges","otherDown","thumb-down"]],["Zuletzt aktualisiert: 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."]]],[]]