Search in sources :

Example 1 with PlaylistItem

use of com.google.api.services.youtube.model.PlaylistItem in project api-samples by youtube.

the class MyUploads method prettyPrint.

/*
     * Print information about all of the items in the playlist.
     *
     * @param size size of list
     *
     * @param iterator of Playlist Items from uploaded Playlist
     */
private static void prettyPrint(int size, Iterator<PlaylistItem> playlistEntries) {
    System.out.println("=============================================================");
    System.out.println("\t\tTotal Videos Uploaded: " + size);
    System.out.println("=============================================================\n");
    while (playlistEntries.hasNext()) {
        PlaylistItem playlistItem = playlistEntries.next();
        System.out.println(" video name  = " + playlistItem.getSnippet().getTitle());
        System.out.println(" video id    = " + playlistItem.getContentDetails().getVideoId());
        System.out.println(" upload date = " + playlistItem.getSnippet().getPublishedAt());
        System.out.println("\n-------------------------------------------------------------\n");
    }
}
Also used : PlaylistItem(com.google.api.services.youtube.model.PlaylistItem)

Example 2 with PlaylistItem

use of com.google.api.services.youtube.model.PlaylistItem 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();
    }
}
Also used : Credential(com.google.api.client.auth.oauth2.Credential) Channel(com.google.api.services.youtube.model.Channel) ArrayList(java.util.ArrayList) YouTube(com.google.api.services.youtube.YouTube) PlaylistItemListResponse(com.google.api.services.youtube.model.PlaylistItemListResponse) GoogleJsonResponseException(com.google.api.client.googleapis.json.GoogleJsonResponseException) ChannelListResponse(com.google.api.services.youtube.model.ChannelListResponse) PlaylistItem(com.google.api.services.youtube.model.PlaylistItem)

Aggregations

PlaylistItem (com.google.api.services.youtube.model.PlaylistItem)2 Credential (com.google.api.client.auth.oauth2.Credential)1 GoogleJsonResponseException (com.google.api.client.googleapis.json.GoogleJsonResponseException)1 YouTube (com.google.api.services.youtube.YouTube)1 Channel (com.google.api.services.youtube.model.Channel)1 ChannelListResponse (com.google.api.services.youtube.model.ChannelListResponse)1 PlaylistItemListResponse (com.google.api.services.youtube.model.PlaylistItemListResponse)1 ArrayList (java.util.ArrayList)1