use of com.google.api.services.youtube.model.PlaylistItemListResponse in project api-samples by youtube.
the class MyUploads method main.
/**
* Authorize the user, call the youtube.channels.list method to retrieve
* the playlist ID for the list of videos uploaded to the user's channel,
* and then call the youtube.playlistItems.list method to retrieve the
* list of videos in that playlist.
*
* @param args command line args (not used).
*/
public static void main(String[] args) {
// This OAuth 2.0 access scope allows for read-only access to the
// authenticated user's account, but not other types of account access.
List<String> scopes = Lists.newArrayList("https://www.googleapis.com/auth/youtube.readonly");
try {
// Authorize the request.
Credential credential = Auth.authorize(scopes, "myuploads");
// This object is used to make YouTube Data API requests.
youtube = new YouTube.Builder(Auth.HTTP_TRANSPORT, Auth.JSON_FACTORY, credential).setApplicationName("youtube-cmdline-myuploads-sample").build();
// Call the API's channels.list method to retrieve the
// resource that represents the authenticated user's channel.
// In the API response, only include channel information needed for
// this use case. The channel's contentDetails part contains
// playlist IDs relevant to the channel, including the ID for the
// list that contains videos uploaded to the channel.
YouTube.Channels.List channelRequest = youtube.channels().list("contentDetails");
channelRequest.setMine(true);
channelRequest.setFields("items/contentDetails,nextPageToken,pageInfo");
ChannelListResponse channelResult = channelRequest.execute();
List<Channel> channelsList = channelResult.getItems();
if (channelsList != null) {
// The user's default channel is the first item in the list.
// Extract the playlist ID for the channel's videos from the
// API response.
String uploadPlaylistId = channelsList.get(0).getContentDetails().getRelatedPlaylists().getUploads();
// Define a list to store items in the list of uploaded videos.
List<PlaylistItem> playlistItemList = new ArrayList<PlaylistItem>();
// Retrieve the playlist of the channel's uploaded videos.
YouTube.PlaylistItems.List playlistItemRequest = youtube.playlistItems().list("id,contentDetails,snippet");
playlistItemRequest.setPlaylistId(uploadPlaylistId);
// Only retrieve data used in this application, thereby making
// the application more efficient. See:
// https://developers.google.com/youtube/v3/getting-started#partial
playlistItemRequest.setFields("items(contentDetails/videoId,snippet/title,snippet/publishedAt),nextPageToken,pageInfo");
String nextToken = "";
// there are still more items to retrieve.
do {
playlistItemRequest.setPageToken(nextToken);
PlaylistItemListResponse playlistItemResult = playlistItemRequest.execute();
playlistItemList.addAll(playlistItemResult.getItems());
nextToken = playlistItemResult.getNextPageToken();
} while (nextToken != null);
// Prints information about the results.
prettyPrint(playlistItemList.size(), playlistItemList.iterator());
}
} catch (GoogleJsonResponseException e) {
e.printStackTrace();
System.err.println("There was a service error: " + e.getDetails().getCode() + " : " + e.getDetails().getMessage());
} catch (Throwable t) {
t.printStackTrace();
}
}
Aggregations