Prerequisites for this code sample:
- Java 1.6
- Apache Maven (http://maven.apache.org)
Before running the sample, client_secrets.json must be populated with a client ID and client secret. You can create an ID/secret pair at:
https://code.google.com/apis/console
To build this code sample from the command line, type:
mvn compile
To run a code sample from the command line, enter the following:
mvn exec:java -Dexec.mainClass="FULL_CLASS_NAME"
For samples that require arguments, also specify -Dexec.args, e.g.:
mvn exec:java -Dexec.mainClass="FULL_CLASS_NAME" -Dexec.args="arg1 arg2"
For more instructions about how to set up Maven and/or your IDE to run YouTube API samples, see this video:
Description: This sample demonstrates how to use OAuth 2.0 to authorize an application to access resources on a user's behalf.
Method: youtube.subscriptions.insert
Description: This sample calls the API's subscriptions.insert
method to add a subscription to a specified
channel.
Method: youtube.channels.update
Description: This sample calls the API's channels.update
method to set invideoPromotion
properties for the channel.
Method: youtube.playlists.insert
Description: This sample calls the API's playlists.insert
method to create a private playlist owned by the
channel authorizing the request.
Method: youtube.commentThreads.list, youtube.comments.insert, youtube.comments.list, youtube.comments.update,
youtube.comments.setModerationStatus, youtube.comments.markAsSpam, youtube.comments.delete
Description: This sample demonstrates how to use the following API methods to create and manage comments:
- It calls the
commentThreads.list
method with thevideoId
parameter set to retrieve comments for a video. - It calls the
comments.insert
method with theparentId
parameter set to reply to an existing comment. - It calls the
comments.list
method with theparentId
parameter to retrieve the comments in the thread. - It calls the
comments.update
method with comment in the request body to update a comment. - It calls the
comments.setModerationStatus
method to set the moderation status of the comment, thecomments.markAsSpam
method to mark the comment as spam, and thecomments.delete
method to delete the comment, using theid
parameter to identify the comment.
Method: youtube.commentThreads.insert, youtube.commentThreads.list, youtube.commentThreads.update
Description: This sample demonstrates how to use the following API methods to create and manage top-level comments:
- It calls the
commentThreads.insert
method once with thechannelId
parameter to create a channel comment and once with thevideoId
parameter to create a video comment. - It calls the
commentThreads.list
method once with thechannelId
parameter to retrieve channel comments and once with thevideoId
parameter to retrieve video comments. - It calls the
commentThreads.update
method once to update a video comment and then again to update a channel comment. In each case, the request body contains thecomment
resource being updated.
Method: youtube.captions.insert, youtube.captions.list, youtube.captions.update, youtube.captions.download,
youtube.captions.delete
Description: This sample demonstrates how to use the following API methods to create and manage YouTube video caption
tracks:
- It calls the
captions.insert
method with theisDraft
parameter set totrue
to upload a caption track in draft status. - It calls the
captions.list
method with thevideoId
parameter to retrieve video caption tracks. - It calls the
captions.update
method with the caption in the request body to update a caption track. - It calls the
captions.download
method to download the caption track. - It calls the
captions.delete
method to delete the caption track, using theid
parameter to identify the caption track.
Method: youtube.activities.insert
Description: This sample calls the API's activities.insert
method to post a bulletin to the channel
associated with the request.
Method: youtube.playlistItems.list
Description: This sample calls the API's playlistItems.list
method to retrieve a list of videos uploaded
to the channel associated with the request. The code also calls the channels.list
method with the
mine
parameter set to true
to retrieve the playlist ID that identifies the channel's uploaded
videos.
Method: youtube.search.list
Description: This sample calls the API's search.list
method to retrieve search results associated with
a particular keyword.
Method: youtube.search.list, youtube.videos.list
Description: This sample calls the API's search.list
method with the type
, q
, location
, and
locationRadius
parameters to retrieve search results matching the provided keyword within the radius centered
at a particular location. Using the video IDs from the search result, the sample calls the API's videos.list
method to retrieve location details of each video.
Method: youtube.channels.update, youtube.channels.list
Description: This sample demonstrates how to use the following API methods to set and retrieve localized metadata for a
channel:
- It calls the
channels.update
method to update the default language of a channel's metadata and to add a localized version of this metadata in a selected language. Note that to set the default language for a channel resource, you actually need to update thebrandingSettings.channel.defaultLanguage
property. - It calls the
channels.list
method with thehl
parameter set to a specific language to retrieve localized metadata in that language. - It calls the
channels.list
method and includeslocalizations
in thepart
parameter value to retrieve all of the localized metadata for that channel.
Method: youtube.channelSections.update, youtube.channelSections.list
Description: This sample demonstrates how to use the following API methods to set and retrieve localized metadata for a
channel section:
- It calls the
channelSections.update
method to update the default language of a channel section's metadata and to add a localized version of this metadata in a selected language. - It calls the
channelSections.list
method with thehl
parameter set to a specific language to retrieve localized metadata in that language. - It calls the
channelSections.list
method and includeslocalizations
in thepart
parameter value to retrieve all of the localized metadata for that channel section.
Method: youtube.playlists.update, youtube.playlists.list
Description: This sample demonstrates how to use the following API methods to set and retrieve localized metadata for a
playlist:
- It calls the
playlists.update
method to update the default language of a playlist's metadata and to add a localized version of this metadata in a selected language. - It calls the
playlists.list
method with thehl
parameter set to a specific language to retrieve localized metadata in that language. - It calls the
playlists.list
method and includeslocalizations
in thepart
parameter value to retrieve all of the localized metadata for that playlist.
Method: youtube.videos.update, youtube.videos.list
Description: This sample demonstrates how to use the following API methods to set and retrieve localized metadata
for a video:
- It calls the
videos.update
method to update the default language of a video's metadata and to add a localized version of this metadata in a selected language. - It calls the
videos.list
method with thehl
parameter set to a specific language to retrieve localized metadata in that language. - It calls the
videos.list
method and includeslocalizations
in thepart
parameter value to retrieve all of the localized metadata for that video.
Method: youtube.videos.update
Description: This sample calls the API's videos.update
method to update a video owned by the channel
authorizing the request.
Method: youtube.thumbnails.set
Description: This sample calls the API's thumbnails.set
method to upload an image and set it as the
thumbnail image for a video. The request must be authorized by the channel that owns the video.
Method: youtube.videos.insert
Description: This sample calls the API's videos.insert
method to upload a video to the channel associated
with the request.
Method: youtubeAnalytics.reports.query
Description: This sample calls the API's reports.query
method to retrieve YouTube Analytics data.
By default, the report retrieves the top 10 videos based on viewcounts, and it returns several metrics for those
videos, sorting the results in reverse order by viewcount. By setting command line parameters, you can use the
same code to retrieve other reports as well.
Method: youtubeReporting.reportTypes.list, youtubeReporting.jobs.create
Description: This sample demonstrates how to create a reporting job. It calls the reportTypes.list
method
to retrieve a list of available report types. It then calls the jobs.create
method to create a new reporting
job.
Method: youtubeReporting.jobs.list, youtubeReporting.reports.list
Description: This sample demonstrates how to retrieve reports created by a specific job. It calls the
jobs.list
method to retrieve reporting jobs. It then calls the reports.list
method with the
jobId
parameter set to a specific job ID to retrieve reports created by that job. Finally, the sample
prints out the download URL for each report.
Method: youtube.liveBroadcasts.bind,youtube.liveBroadcasts.insert,youtube.liveStreams.insert
Description: This sample calls the API's liveBroadcasts.insert
and liveStreams.insert
methods to create a broadcast and a stream. Then, it calls the liveBroadcasts.bind
method to bind
the stream to the broadcast.
Method: youtube.liveBroadcasts.list
Description: This sample calls the API's liveBroadcasts.list
method to retrieve a list of broadcasts for
the channel associated with the request. By default, the request retrieves all broadcasts for the channel, but you can
also specify a value for the --broadcast-status
option to only retrieve broadcasts with a particular status.
Method: youtube.liveStreams.list
Description: This sample calls the API's liveStreams.list
method to retrieve a list of video stream settings
that a channel can use to broadcast live events on YouTube.
Methods: youtube.videos.list, youtube.liveBroadcasts.list
Description: This sample retrieves the live chat ID from either a videoId
parameter
or the live broadcast for the authorized user's channel. The liveChatId
is required for other samples
that interact with live chat.
Method: youtube.liveChatMessages.insert
Description: This sample inserts a live chat message into the the specified video or the live broadcast for
the authorized user's channel.
Method: youtube.liveChatMessages.delete
Description: This sample deletes the specified live chat message.
Method: youtube.liveChatMessages.list
Description: This sample lists live chat messages from the specified video or from the live broadcast for
the authorized user's channel.