YouTube API返回带有空列表的nextPageToken

2024-10-01 11:41:26 发布

您现在位置:Python中文网/ 问答频道 /正文

这个问题与YouTube API 500-1000meaningful results question无关。我认为YouTube API nextpagetoken的工作方式是,一旦没有更多的结果可返回,它们将为null。但是,我看到有返回的结果开始,但有时甚至在只有8个项目(对于单个请求,maxResults=50)之后,它将包含一个nextPageToken,但这只返回一个空的“items”列表。随后的nextPageToken会导致更多的空列表,直到达到1000个最大值,然后nextPageToken变为null。

同样值得注意的是,页面“info['totalResults']显示为1000000,但在许多情况下返回的值小于200。

因此可能发生:
-发出初始请求,得到50个结果
-查询nextPageToken,再得到50个结果,nextPageToken
-查询nextPageToken,再得到8个结果,nextPageToken
-查询nextPageToken,得到一个空列表和nextPageToken
-查询nextPageToken,得到一个空列表和nextPageToken
-等等

这正常吗?或者我必须查找部分“项目”列表来确定结果是否完成?


Tags: 项目infoapi列表youtube方式items页面
1条回答
网友
1楼 · 发布于 2024-10-01 11:41:26

首先,totalResults是一个近似值。在

As written in docs:

结果集中的结果总数。请注意,该值是近似值,可能不代表精确值。另外,最大值为1000000。 不应使用此值创建分页链接。相反,请使用nextPageToken和prevPageToken属性值来确定是否显示分页链接。

所以它可能是应用任何过滤器之前的结果计数(只是推测)。在

现在是关于nextPaGetToken空项目

关于他们在https://issuetracker.google.com上的怪异行为,有许多公开的问题 他们多年来一直在努力解决这些问题。see one of them

看起来Youtube正在尝试为每个搜索请求优化CPU服务器时间,可能是因为预期的内容来自您的区域(例如),或者可能是因为nextpagetoken获取后满足了其他条件。在

这正常吗?或者我必须查找部分“项目”列表来确定结果是否完成?

就目前而言,是的。在

可能的实现:

  1. 只要有nextPageToken可用,就继续拨打连续的电话。 这更值得推荐。

  2. 在一些API调用之后,如果项变为空,则不需要进行API调用。 对于分页实现中存在错误的当前情况,可以认为这是有效的。但不可靠。

相关问题 更多 >