YouTube API v3不显示例外

时间:2014-07-13 19:12:04

标签: java video youtube-api oauth-2.0 youtube-channels

我刚刚开始使用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。

1 个答案:

答案 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