YouTube

更新影片的詳細資料

function updateYouTubeVideo() {   // 1. Fetch all the channels owned by active user.   var myChannels = YouTube.Channels.list('contentDetails', {mine: true});    // 2. Iterate through the channels and get the uploads playlist ID.   for (var i = 0; i < myChannels.items.length; i++) {     var item = myChannels.items[i];     var uploadsPlaylistId = item.contentDetails.relatedPlaylists.uploads;      var playlistResponse = YouTube.PlaylistItems.list('snippet', {       playlistId: uploadsPlaylistId,       maxResults: 1     });      // Get the ID of the first video in the list.     var video = playlistResponse.items[0];     var originalDescription = video.snippet.description;     var updatedDescription = originalDescription +         ' Description updated via Google Apps Script';      video.snippet.description = updatedDescription;      var resource = {       snippet: {         title: video.snippet.title,         description: updatedDescription,         categoryId: '22'       },       id: video.snippet.resourceId.videoId     };     YouTube.Videos.update(resource, 'id,snippet');      console.log('Video with ID = %s and Title = %s was successfully updated.',         video.snippet.resourceId.videoId, video.snippet.title);   } }

建立頻道公佈欄

function postChannelBulletin() {   var message = 'Thanks for subscribing to my channel!  This posting is ' +                 'from Google Apps Script';    var videoId = 'INSERT_VIDEO_ID_HERE';   var resource = {     snippet: {       description: message     },     contentDetails: {       bulletin: {         resourceId: {           kind: 'youtube#video',           videoId: videoId         }       }     }   };    var response = YouTube.Activities.insert(resource, 'snippet,contentDetails');   console.log('Posted to channel bulletin successfully.'); }

擷取影片上傳項目

function retrieveVideoUploads() {   var results = YouTube.Channels.list('contentDetails', {mine: true});   for (var i in results.items) {     var item = results.items[i];     // Get the playlist ID, which is nested in contentDetails, as described in     // the Channel resource:     // https://developers.google.com/youtube/v3/docs/channels     var playlistId = item.contentDetails.relatedPlaylists.uploads;      var nextPageToken = '';      // This loop retrieves a set of playlist items and checks the nextPageToken     // in the response to determine whether the list contains additional items.     // It repeats that process until it has retrieved all of the items in the     // list.     while (nextPageToken != null) {       var playlistResponse = YouTube.PlaylistItems.list('snippet', {         playlistId: playlistId,         maxResults: 25,         pageToken: nextPageToken       });        for (var j = 0; j < playlistResponse.items.length; j++) {         var playlistItem = playlistResponse.items[j];         console.log('[%s] Title: %s',                    playlistItem.snippet.resourceId.videoId,                    playlistItem.snippet.title);        }       nextPageToken = playlistResponse.nextPageToken;     }   } }

按關鍵字搜尋影片

function searchVideosByKeyword() {   var results = YouTube.Search.list('id,snippet', {q: 'dogs', maxResults: 25});   for (var i in results.items) {     var item = results.items[i];     console.log('[%s] Title: %s', item.id.videoId, item.snippet.title);   } }

按主題搜尋影片

function searchVideosByFreebaseTopic() {   // See https://developers.google.com/youtube/v3/guides/searching_by_topic   // for more details.    // Insert Your Freebase topic ID here. The Freebase ID used in this example   // corresponds to the Freebase entry for Google. See   // http://www.freebase.com/m/045c7b for more details.   var mid = '/m/045c7b';   var results = YouTube.Search.list('id,snippet',       {topicId: mid, maxResults: 25});   for (var i in results.items) {     var item = results.items[i];     console.log('[%s] Title: %s', item.id.videoId, item.snippet.title);   } }

訂閱頻道

function subscribeToChannel() {   // Replace this channel ID with the channel ID you want to subscribe to.    var channelId = 'INSERT_YOUTUBE_CHANNEL_ID_HERE';   var resource = {     snippet: {       resourceId: {         kind: 'youtube#channel',         channelId: channelId       }     }   };    try {     var response = YouTube.Subscriptions.insert(resource, 'snippet');      console.log('Subscribed to channel ID %s successfully.', channelId);   } catch (e) {     if (e.message.match('subscriptionDuplicate')) {       console.log('Cannot subscribe; already subscribed to channel: ' +           channelId);     } else {       console.log('Error adding subscription: ' + e.message);     }   } }