【问题标题】:YouTube API v3 Not Displaying ExceptionsYouTube API v3 不显示异常
【发布时间】:2014-09-03 18:21:12
【问题描述】:

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

【问题讨论】:

  • 您没有提供获取 accessToken 的代码部分。问题可能出在您的 oAuth 流程中吗?你能把这些部分加进去吗?另请查看文档中的“检索我的上传”示例代码,看看是否有帮助(因为它会发出类似的调用):developers.google.com/youtube/v3/code_samples/…
  • 我可以使用访问令牌获取有关当前用户的信息,所以我认为这不是问题所在。我将再次仔细检查权限字符串。无论哪种方式,我都想知道为什么它在不工作时不打印任何内容。
  • 如果请求在 YouTube 端被拒绝,channelResult 的状态码将为 400 或 403。但是如果 channelResult 完全是空的,那就奇怪了。 channelResult.getItems() 返回一个空列表?

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


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-06-19
    • 2014-11-03
    • 2015-10-07
    • 2014-12-12
    • 2021-03-14
    • 2015-01-18
    • 2016-04-20
    • 1970-01-01
    相关资源
    最近更新 更多