我正在将我的iOS代码从YouTube Data API v2转移到v3。
我想使用YouTube API v3检索播放列表中的项目数。
使用数据API v2,我可以调用搜索查询,从而生成一个包含属性“size”的播放列表项列表,该列表代表播放列表的大小,请参阅:
使用API v3,我还没有找到实现此目的的方法。我尝试过查询,如下所示,没有产生所需的输出。
https://www.googleapis.com/youtube/v3/playlists?part=snippet&id=RD0KSOMA3QBU0&key= {YOUR_API_KEY}
获取项目数量的唯一方法是为每个播放列表运行查询,检索完整的播放列表项目。然而,这是一种过度杀伤,导致API使用率过高。 https://www.googleapis.com/youtube/v3/playlistItems?part=snippet&playlistId=RD0KSOMA3QBU0&key= {YOUR_API_KEY}
任何帮助表示赞赏!
由于
答案 0 :(得分:4)
谢谢你。它帮助我找到了一个解决方案,现在可以调用
https://www.googleapis.com/youtube/v3/playlists?part=contentDetails&id= {逗号分隔ID}& key = {YOUR_API_KEY}
使用该选项可以使用逗号分隔要评估的播放列表列表。在返回字符串中,我为每个播放列表获取“itemCount”参数。
由于
答案 1 :(得分:0)
很遗憾,如果没有在contentDetails
中请求parts
(在列出播放列表时不支持),则无法获取播放列表中的项目数。
答案 2 :(得分:0)
我使用以下V3 api来获取播放列表视频,并且它适用于我。
https://www.googleapis.com/youtube/v3/playlistItems?part=contentDetails&maxResults=50&playlistId=PLFPg_IUxqnZM3uua-YwStHJ1qmlQKBnh0&key= {YOUR_API_KEY_HERE}
**
**
Youtube文档中没有“playlistId”参数的详细信息。 但是可用于获取播放列表视频。
答案 3 :(得分:0)
此javascript将检索数字91。 这是剪辑的总数(total = data.pageInfo.totalResults) 来自youtube播放列表
<script>
function numberOfClips(pid){
$.get(
"https://www.googleapis.com/youtube/v3/playlistItems",{
part : 'snippet',
maxResults : 2,
playlistId : pid,
key: 'YOUR API v.3 KEY',
fields: 'pageInfo(totalResults)'
},
function(data) {
total = data.pageInfo.totalResults;
$('#total').html('Total number of clips: ' + total);
st = JSON.stringify(data,'',2);
$('#area1').val(st);
});
}
</script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<body onload="numberOfClips('PLE9F62B21C75C054C')">
<p id="total"></p>
<textarea id='area1' style='width:400px;height:100px;'></textarea>
PLE9F62B21C75C054C
答案 4 :(得分:0)
我不建议既不依赖Playlist-Query中的itemsCount也不依赖于Playlistitems-Query中的pageInfo.totalResults,因为这两个值可能与检索到的播放列表项列表的大小不同
另见:https://stackoverflow.com/questions/37899490/totalresults-in-playlistitems-do-not-match-items-size