Youtube-api v3:是否可以按特定订单获取视频?

时间:2016-08-03 13:41:52

标签: android youtube-api

我正在尝试从我的Android应用程序上的YouTube视频中获取某些订单。我想搜索,例如:

Fight 1
Fight 2
Fight 3
Fight 4

这是我的搜索列表:

YouTube.Search.List search = mYouTubeDataApi.search().list("id,snippet");

            search.setKey(ApiKey.YOUTUBE_API_KEY);
            search.setQ(mTitle + " " + mSearchQuery);

            search.setType("video");                
            search.setFields("items(id/kind,id/videoId,snippet/title,snippet/thumbnails/default/url)");
            search.setMaxResults(YOUTUBE_PLAYLIST_MAX_RESULTS);
            searchResponse = search.execute();

到目前为止,我已尝试添加到我的搜索列表中:

search.setOrder("title");

并且我也试图以这种方式手动排序项目

    List<Video> items = videoListResponse.getItems();
    Collections.sort(items, new Comparator<Video>() {
        @Override
        public int compare(Video video, Video t1) {
            return video.getSnippet().getTitle().compareToIgnoreCase(t1.getSnippet().getTitle());
        }
    });
    return new Pair(searchResponse.getNextPageToken(), items);

但我仍然没有得到我期望的结果,而且我的排序并不好(即:打1,打10,打11,打2等等)

提前致谢!

1 个答案:

答案 0 :(得分:2)

您可以使用HTTP请求使用Search: list

GET https://www.googleapis.com/youtube/v3/search

将可选参数order添加到查询中。

如文档中所述,

  

订单参数指定将用于在API响应中订购资源的方法。

可接受的值是:

  • 日期 - 根据创建日期按反向时间顺序排序。
  • 评级 - 从最高评分到最低评分。
  • 相关性 - 根据其与搜索查询的相关性进行排序。这是此参数的默认值。
  • 标题 - 按标题按字母顺序排序。
  • videoCount - 频道按其上传视频数量的降序排序。
  • viewCount - 从最高到最低的观看次数排序。对于直播,视频在广播正在进行时按照并发观众的数量进行排序。