YouTube Api v3:列出播放列表视频

时间:2018-01-01 05:14:02

标签: java android youtube youtube-data-api

我使用以下代码列出频道的视频:

String URL="https://www.googleapis.com/youtube/v3/search?part=snippet&channelId={CHANNEL_ID}&maxResults=25&key={Your_API_KEY}";

效果很好,从我的频道列出了50个视频。现在我要列出我的播放列表的视频。我尝试按照添加'playlistId'的代码:

String URL="https://www.googleapis.com/youtube/v3/search?part=snippet&playlistId={PLAYLIST_ID}&maxResults=25&key={Your_API_KEY}";

但它不起作用....任何想法?

2 个答案:

答案 0 :(得分:1)

首先在build.gradle中添加Youtube依赖项:

  

编译com.google.apis:google-api-services-youtube:v3-rev189-1.23.0'

对我而言,播放列表似乎是错误的网址。 Google Developer 共享了用于列出特定频道的所有播放列表视频的特定播放列表的播放列表视频的示例代码。以下是列出特定播放列表中视频的示例代码段。

YouTube youtube = getYouTubeService();
try {
    HashMap<String, String> parameters = new HashMap<>();
    parameters.put("part", "snippet,contentDetails");
    parameters.put("maxResults", "25");
    parameters.put("playlistId", "PLBCF2DAC6FFB574DE");

    YouTube.PlaylistItems.List playlistItemsListByPlaylistIdRequest = youtube.playlistItems().list(parameters.get("part").toString());
    if (parameters.containsKey("maxResults")) {
        playlistItemsListByPlaylistIdRequest.setMaxResults(Long.parseLong(parameters.get("maxResults").toString()));
    }

    if (parameters.containsKey("playlistId") && parameters.get("playlistId") != "") {
        playlistItemsListByPlaylistIdRequest.setPlaylistId(parameters.get("playlistId").toString());
    }

    PlaylistItemListResponse response = playlistItemsListByPlaylistIdRequest.execute();
    System.out.println(response);
}
根据您当前的实施情况,

,更改网址如下

https://www.googleapis.com/youtube/v3/playlistItems?part=snippet&maxResults=50&playlistId={PLAYLIST_ID}&key={MY_API_KEY}

答案 1 :(得分:-1)

我相信您正在寻找播放列表API请求而不是搜索。

String URL = "https://www.googleapis.com/youtube/v3/playlists?part=snippet&id={PLAYLIST_ID}&maxResults=25&key={Your_API_KEY}";

参考: https://developers.google.com/youtube/v3/docs/playlists/list