使用 YouTube API v3 检索播放列表中的项目数

Posted

技术标签:

【中文标题】使用 YouTube API v3 检索播放列表中的项目数【英文标题】:Retrieve number of items in playlist with YouTube API v3 【发布时间】:2014-04-04 07:46:39 【问题描述】:

我正在将我的 ios 代码从 YouTube Data API v2 转移到 v3。

我想。

使用数据 API v2,我可以调用搜索查询,生成具有属性“size”的播放列表项列表,该属性表示播放列表的大小,请参阅:

https://gdata.youtube.com/feeds/api/playlists/snippets?q=GoogleDevelopers&max-results=10&v=2&alt=jsonc

使用 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

任何帮助表示赞赏!

谢谢

【问题讨论】:

【参考方案1】:

谢谢你。它帮助我找到了解决方案,现在调用

https://www.googleapis.com/youtube/v3/playlists?part=contentDetails&id=逗号分隔 ID&key=YOUR_API_KEY

使用该选项以逗号分隔要评估的播放列表列表。在返回字符串中,我获取每个播放列表的“itemCount”参数。

谢谢

【讨论】:

【参考方案2】:

不幸的是,如果不在parts 中请求contentDetails(列出播放列表时不支持),就无法获取播放列表中的项目数。

【讨论】:

【参考方案3】:

我使用以下 V3 api 来获取播放列表视频,它对我有用。

https://www.googleapis.com/youtube/v3/playlistItems?part=contentDetails&maxResults=50&playlistId=PLFPg_IUxqnZM3uua-YwStHJ1qmlQKBnh0&key=YOUR_API_KEY_HERE

**

播放列表 ID

**

Youtube 文档中没有关于“playlistId”参数的详细信息。 但适用于获取播放列表视频。

【讨论】:

【参考方案4】:

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

【讨论】:

【参考方案5】:

我不建议既不依赖 Playlist-Query 中的 itemsCount 也不依赖 Playlistitems-Query 中的 pageInfo.totalResults,因为这两个值可能与检索到的播放列表项列表的大小不同

另请参阅:https://***.com/questions/37899490/totalresults-in-playlistitems-do-not-match-items-size

【讨论】:

以上是关于使用 YouTube API v3 检索播放列表中的项目数的主要内容,如果未能解决你的问题,请参考以下文章

Youtube api V3 nextPageToken 重复

如何在 YouTube API v3 上检索“频道中的频道”

YouTube API v3 未检索频道的视频

如何从 Youtube API V3 中检索经过验证的频道?

YouTube API v3 每次都要求授权

Youtube API v3 搜索视频、检索标题和 url