我刚刚开始使用YouTube API for Java,而我正在努力弄清楚为什么事情不起作用,因为异常/堆栈跟踪无处可寻。我要做的是获取当前用户上传的视频列表。
GoogleTokenResponse tokenFromExchange = new GoogleTokenResponse();
tokenFromExchange.setAccessToken(accessToken);
GoogleCredential credential = new GoogleCredential.Builder().setJsonFactory(JSON_FACTORY).setTransport(TRANSPORT).build();
credential.setFromTokenResponse(tokenFromExchange);
YouTube.Channels.List channelRequest = youtube.channels().list("contentDetails");
channelRequest.setMine(true);
channelRequest.setFields("items/contentDetails,nextPageToken,pageInfo");
ChannelListResponse channelResult = channelRequest.execute();
我没有看到此代码有任何问题,并尝试删除多个内容,但仍然无法使其工作。如果您遇到类似问题,请告诉我。我正在使用的客户端库版本是v3-rev110-1.18.0-rc。
答案 0 :(得分:0)
YouTube API包含一些正常工作的代码,您可以使用它。
public static YouTubeService service;
public static String USER_FEED = "http://gdata.youtube.com/feeds/api/users/";
public static String CLIENT_ID = "...";
public static String DEVELOPER_KEY = "...";
public static int getVideoCountOf(String uploader) {
try {
service = new YouTubeService(CLIENT_ID, DEVELOPER_KEY);
String uploader = "UCK-H1e0S8jg-8qoqQ5N8jvw"; // sample user
String feedUrl = USER_FEED + uploader + "/uploads";
VideoFeed videoFeed = service.getFeed(new URL(feedUrl), VideoFeed.class);
return videoFeed.getTotalResults();
} catch (Exception ex) {
Logger.getLogger(YouTubeCore.class.getName()).log(Level.SEVERE, null, ex);
}
return 0;
}
这个简单的方法可以为您提供用户拥有的视频数量。您可以使用在他们的api页面上准备的 printEntireVideoFeed 来阅读 videoFeed 。