동영상 세부정보 업데이트
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);
}
}
}