Youtube api Youtube API视频列表返回的结果少于指示的结果

Youtube api Youtube API视频列表返回的结果少于指示的结果,youtube-api,youtube-data-api,Youtube Api,Youtube Data Api,我正在自己的youtube频道上运行一个查询,以检索所有视频标题。我有680个视频,但只能得到其中的一半。我所做的是创建一个代码,该代码会在创建频道后的所有年份进行迭代,并在一年内使用pageTokens浏览50个视频包 因此,查询如下所示: https://www.googleapis.com/youtube/v3/search?key={XXXXX}&channelId={XXXXX}&part=snippet,id&order=date&type=video

我正在自己的youtube频道上运行一个查询,以检索所有视频标题。我有680个视频,但只能得到其中的一半。我所做的是创建一个代码,该代码会在创建频道后的所有年份进行迭代,并在一年内使用pageTokens浏览50个视频包

因此,查询如下所示:

https://www.googleapis.com/youtube/v3/search?key={XXXXX}&channelId={XXXXX}&part=snippet,id&order=date&type=video&maxResults=50&publishedAfter=2018-01-01T00:00:00Z&publishedBefore=2019-01-01T00:00:00Z&pageToken=CDIQAA
在这些查询的结果中,我发现有以下内容:

array (
'totalResults' => 321,
'resultsPerPage' => 50,
),
通过迭代页面,我得到了两个页面,其中包含50个项目,然后是另一个页面,其中结果显示为'resultsPerPage'=>50,但只包含35个视频,该年剩余的JSON数据中包含0个项目。因此,有问题的页面只返回135个结果,而不是321个。一旦我切换到下一年,我又得到了两页完整的结果,然后是一页缺少一些,然后是空的

你知道会出什么问题吗

以下是最后一个JSON数据集的摘录:

array (
  'kind' => 'youtube#searchListResponse',
  'etag' => '"XpPGQXPnxQJhLgs6enD_n8JR4Qk/IsJyhRyDQ6qMmAHldktSRzEN2qs"',
  'nextPageToken' => 'CJYBEAA',
  'prevPageToken' => 'CGQQAQ',
  'regionCode' => 'DE',
  'pageInfo' => 
  array (
    'totalResults' => 321,
    'resultsPerPage' => 50,
  ),
  'items' => 
  array (
    0 => 
    [..contents..]
   35 =>
    [..last content and closing brackets..]

如果您希望获得给定频道的整个视频列表而不遗漏任何内容,我建议您改为使用,通过向端点的playlid参数传递适当的值来查询给定频道的上载列表

一个给定频道的uploads PlayID是在查询时获得的。所需的ID可在中找到。通常,频道ID及其相应的上传播放列表ID由s/^UC[0-9a-zA-Z_u-]{22}$/UU\1/关联


还有一句话:你应该知道视频发布时间和上传时间之间的差异。

可能是重复的,非常感谢!也可以在这里找到这一点作为替代解释: