0

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

4

1 回答 1

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 。

于 2014-07-14T17:47:10.113 回答