【发布时间】:2014-02-02 08:09:55
【问题描述】:
使用适用于 Python 的 Google API 客户端库和搜索端点 API V3 执行以下查询:
search_response = youtube.search().list(
q="Mallorca",
part="id,snippet",
maxResults=50,
order="date",
publishedBefore="2014-1-1T2:00:00Z",
publishedAfter="2014-1-1T1:00:00Z",
).execute()
响应显示 search_response.pageInfo.totalResults 为 186。这意味着需要分页来检索所有结果。然而,在这个回复中,我在search_response.items 下只得到一个结果(一个视频),而不是第一页的预期 50 个。
如果我使用nextPageToken (=CDIQAA) 查询下一个结果页面:
search_response = youtube.search().list(
q="Mallorca",
part="id,snippet",
maxResults=50,
order="date",
publishedBefore="2014-1-1T2:00:00Z",
publishedAfter="2014-1-1T1:00:00Z",
pageToken= "CDIQAA"
).execute()
我再次仅获得一个结果,即在第一次查询中检索到的相同视频(相同 videoId)。当我浏览 search_response 的下一页直到没有更多可用页面(nextPageToken未包含在响应中)时,也会发生同样的事情。
已阅读上一个问题:
page tokens use youtube api v3
还有这个:
Is youtube data api paging consistent if you use pagetokens? (v3 data api)
但他们没有解释为什么我只得到一个结果,即响应传递的所有页面的相同视频。
这是 youtube API 的问题还是我做错了什么?感谢您的帮助。
【问题讨论】:
-
看起来这是 youtube API 的未解决问题:issue 5173
-
是的,你是对的,关注问题。现在您可以避免订购以获得正确的结果,但问题应该很快就会得到解决。
-
非常感谢@IbrahimUlukaya,我将关闭此问题并按照您的建议关注问题。
标签: python youtube-api