如何使用YouTube Data API v3更改网页结果

vik*_*or 28 youtube api youtube-api

我正在尝试使用此示例从YouTube API(v3)获取视频数据:

https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.search.list?part=snippet&maxResults=25&order=relevance&q=site%253Ayoutube.com&topicId=%252Fm%252F02vx4&_h=1&

问题是我不明白如何更改页面结果.例如,这个查询给了我25个项目(maxResults = 25),但总结果是 - >"totalResults":548669.所以这里最大的问题是如何继续第2页并接收其他25个结果?

Mat*_*ela 69

如果查看结果,您将在"pageInfo"后面看到"nextPageToken"项.这需要在下次请求时作为pageToken传递.

所以如果你打电话给这个api:

https://www.googleapis.com/youtube/v3/search?part=snippet&maxResults=25&order=relevance&q=site%3Ayoutube.com&topicId=%2Fm%2F02vx4&key={YOUR_API_KEY}
Run Code Online (Sandbox Code Playgroud)

您可以在下一页打电话给这个:

https://www.googleapis.com/youtube/v3/search?pageToken=CBkQAA&part=snippet&maxResults=25&order=relevance&q=site%3Ayoutube.com&topicId=%2Fm%2F02vx4&key={YOUR_API_KEY}
Run Code Online (Sandbox Code Playgroud)

  • 最后一页没有nextPageToken (9认同)
  • 如何移至特定页面?我们说第10页? (4认同)
  • 是的,v3 api 的第一个请求中没有 nextPageToken (2认同)
  • @GeorgiKovachev 似乎不受支持,但您可以使用publishedAfter 和publishedBefore 参数来限制您收到的项目,作为开始10 页深度的替代方案(当然,取决于您的具体用例) (2认同)

iOS*_*iOS 6

例如,这是您的 api

https://www.googleapis.com/youtube/v3/playlists?part=snippet,contentDetails&channelId=UCrA&maxResults=50&key=AIZsk

在这里使用这个 api 你会得到类似的结果

{
"kind": "youtube#playlistListResponse",
"etag": "\"XpPGQXPLgenD_n8JR4Qk/05DoUs3OS-AxnDI1FJbdM\"",
"nextPageToken": "CDIQAA",
"pageInfo": {
    "totalResults": 585,
    "resultsPerPage": 50
},
"items": [
    {
        "kind": "youtube#playlist",
        "etag": "\"XpPGQXPLgenD_n8JR4Qk/7m0ztlwxvPmRtXjs\"",
        .........
        .........
Run Code Online (Sandbox Code Playgroud)

在这个结果中看到"nextPageToken": "CDIQAA",

现在将pageToken参数添加到您的 api

前任:

https://www.googleapis.com/youtube/v3/playlists?part=snippet,contentDetails&channelId=UCqrA&maxResults=50&key=AIZsk&pageToken=CDIQAA

现在这是你的结果,你会得到 nextPageToken 和 prevPageToken

{
"kind": "youtube#playlistListResponse",
"etag": "\"XpPGQX4Qk/R3A6jpxuE\"",
"nextPageToken": "CGQQAA",
"prevPageToken": "CDIQAQ",
"pageInfo": {
    "totalResults": 585,
    "resultsPerPage": 50
},
"items": [
    {
        "kind": "youtube#playlist",
        "etag": "\"XpPGQXR4Qk/XsatNRtxJQ\"",

        .........
        .........
Run Code Online (Sandbox Code Playgroud)