我被困在我的应用程序开发中:我试图在YouTube搜索列表上获取播放列表ID(我在搜索播放列表)。我正在看youtube api网站,并且在测试网站上它带有播放列表ID。在我的应用程序上,我做同样的事情,但是我没有获得ID,或者我没有在迭代代码的“项目”中看到它。
我知道当前正在搜索视频ID,这是不正确的。到目前为止,我已经尝试过:
item.id
item.getId().getPlaylistId()
item.getId().playlistId
也完全是iniside项目。
我让我异步任务代码:
SearchListResponse searchResponse;
try {
YouTube.Search.List search = mYouTubeDataApi.search().list("id,snippet");
search.setKey(ApiKey.YOUTUBE_API_KEY);
search.setQ(mTitle);
search.setType("playlist");
search.setFields("items(id/kind,id/videoId,snippet/title,snippet/thumbnails/default/url)");
search.setMaxResults(YOUTUBE_PLAYLIST_MAX_RESULTS);
searchResponse = search.execute();
} catch (IOException e) {
e.printStackTrace();
return null;
}
if (searchResponse == null) {
Log.e(TAG, "Failed to get playlist");
return null;
}
ArrayList videoIds = new ArrayList();
for (SearchResult item : searchResponse.getItems()) {
//this is what i was talking about. My search result item
//is not showing me any playlist id
videoIds.add(item.getId().getVideoId());
}
最佳答案
你是对的。获取播放列表列表的最佳方法是使用 search.list
请求。
您必须为type=playlist
参数指定q
和视频标题。Search:list
将为您提供与您的请求中指定的查询参数匹配的结果。您还可以配置查询以仅检索特定类型的资源。
请注意,如果视频标题不够明确,则可能无法提供您期望的播放列表。
https://www.googleapis.com/youtube/v3/search?part=snippet&q=VIDEO_TITLE_HERE&type=playlist&key=API_KEY_HERE
关于android - 如何在搜索中获取播放列表ID:列表(播放列表类型),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37505160/