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

时间:2013-01-05 15:50:06

标签: api youtube 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个结果?

2 个答案:

答案 0 :(得分:67)

如果查看结果,您将在“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}

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

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}

答案 1 :(得分:1)

例如,这是您的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\"",
        .........
        .........

在此结果中,请参见“ nextPageToken”:“ CDIQAA”,

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

EX:

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\"",

        .........
        .........