YouTube

Update video's details

 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 
 ); 
  
 } 
 } 

Create a channel bulletin

 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.' 
 ); 
 } 

Retrieve video uploads

 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 
 ; 
  
 } 
  
 } 
 } 

Search videos by keyword

 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 
 ); 
  
 } 
 } 

Search videos by topics

 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 
 / 
 045 
 c7b 
  
 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 
 ); 
  
 } 
  
 } 
 } 
Create a Mobile Website
View Site in Mobile | Classic
Share by: