【发布时间】:2012-12-19 20:28:11
【问题描述】:
我正在尝试使用此示例从 YouTube API (v3) 获取视频数据:
问题是我不明白如何更改页面结果。例如,这个查询给了我 25 个项目 (maxResults=25) 但总结果是 --> "totalResults": 548669。所以这里的大问题是如何移动到第 2 页并接收其他 25 个结果?
【问题讨论】:
标签: api youtube youtube-api
我正在尝试使用此示例从 YouTube API (v3) 获取视频数据:
问题是我不明白如何更改页面结果。例如,这个查询给了我 25 个项目 (maxResults=25) 但总结果是 --> "totalResults": 548669。所以这里的大问题是如何移动到第 2 页并接收其他 25 个结果?
【问题讨论】:
标签: api youtube youtube-api
如果您查看结果,您将在“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}
【讨论】:
nextPageToken。但我在我的请求中删除了fields 参数,我得到了下一页。因此,请尝试将您的查询和密钥作为参数包含在您的 http 请求中。它会工作
例如这是你的 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
前:
现在这是你的结果,你会得到 nextPageToken 和 prevPageToken
{
"kind": "youtube#playlistListResponse",
"etag": "\"XpPGQX4Qk/R3A6jpxuE\"",
"nextPageToken": "CGQQAA",
"prevPageToken": "CDIQAQ",
"pageInfo": {
"totalResults": 585,
"resultsPerPage": 50
},
"items": [
{
"kind": "youtube#playlist",
"etag": "\"XpPGQXR4Qk/XsatNRtxJQ\"",
.........
.........
【讨论】: