我正在尝试使用此示例从YouTube API(v3)获取视频数据:
问题是我不明白如何更改页面结果。例如,此查询为我提供了25个项目(maxResults = 25),但总结果为 - > “totalResults”:548669。所以这里最大的问题是如何继续第2页并获得其他25个结果?
答案 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
使用此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:
现在这是您的结果,您将获得nextPageToken和prevPageToken
{
"kind": "youtube#playlistListResponse",
"etag": "\"XpPGQX4Qk/R3A6jpxuE\"",
"nextPageToken": "CGQQAA",
"prevPageToken": "CDIQAQ",
"pageInfo": {
"totalResults": 585,
"resultsPerPage": 50
},
"items": [
{
"kind": "youtube#playlist",
"etag": "\"XpPGQXR4Qk/XsatNRtxJQ\"",
.........
.........