/** * 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("Unable to search videos");return;}for(constitemofresults.items){console.log("[%s] Title: %s",item.id.videoId,item.snippet.title);}}catch(err){// TODO (developer) - Handle exceptions from Youtube APIconsole.log("Failed with an error %s",err.message);}}
/** * 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("No Channels found.");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("No Playlist found.");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("Failed with err %s",err.message);}}
/** * 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("Added subscription for channel title : %s",response.snippet.title,);}catch(e){if(e.message.match("subscriptionDuplicate")){console.log(`Cannot subscribe; already subscribed to channel: ${channelId}`,);}else{// TODO (developer) - Handle exceptionconsole.log(`Error adding subscription: ${e.message}`);}}}