Warning: session_start(): open(/var/lib/php/sessions/sess_o0n1haesdld5fjpe55ddhekovr, O_RDWR) failed: No space left on device (28) in /var/www/tb-usercake/models/config.php on line 51
Warning: session_start(): Failed to read session data: files (path: /var/lib/php/sessions) in /var/www/tb-usercake/models/config.php on line 51
!752
import com.google.api.client.auth.oauth2.Credential;
import com.google.api.client.googleapis.json.GoogleJsonResponseException;
import com.google.api.services.samples.youtube.cmdline.Auth;
import com.google.api.services.youtube.YouTube;
import com.google.api.services.youtube.model.Channel;
import com.google.api.services.youtube.model.ChannelListResponse;
import com.google.api.services.youtube.model.PlaylistItem;
import com.google.api.services.youtube.model.PlaylistItemListResponse;
import com.google.common.collect.Lists;
/**
* Print a list of videos uploaded to the authenticated user's YouTube channel.
*
* @author Jeremy Walker
*/
/**
* Define a global instance of a Youtube object, which will be used
* to make YouTube Data API requests.
*/
private static YouTube youtube;
/**
* 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 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 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 playlistItemList = new ArrayList();
// 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 = "";
// Call the API one or more times to retrieve all items in the
// list. As long as the API response returns a nextPageToken,
// 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();
}
}
/*
* 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 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");
}
}