如何在每个 Youtube API 调用中仅检索接下来的 3 个视频?
How do I retrieve only next 3 videos on each Youtube API call?
这是我用来获取最大结果列表的 API 调用。
var finalURL = "https://www.googleapis.com/youtube/v3/search?key="+this.API+"&channelId="+this.channelID+"&part=snippet,id&order=date&maxResults="+this.result+"";
但我不知道从上一个 videoId 如何让 API 每次都调用接下来的 3 个视频?。
您在提交初始请求之前设置了 maxResults
;这将决定您取回多少物品。在您的情况下,将其设置为 3。
提交初始请求后,如果有更多结果,您将在 YouTube API 的回复中收到 nextPageToken
。将其作为 pageToken
包含在您的下一个请求中,它将 return 它找到的下一个 maxResults
项目。 (如果没有 nextPageToken,则没有更多结果。)
因此您的代码可能如下所示:
var maxResults = 3;
var finalURL = 'https://www.googleapis.com/youtube/v3/search?key=' + this.API +
'&channelId=' + this.channelID +
'&part=snippet,id&order=date&maxResults=' + maxResults;
// this should be the response from your previous request
if (response.nextPageToken) {
finalURL += '&pageToken=' + response.nextPageToken;
}
查看 YouTube API documentation on pagination 了解完整详情。
这是我用来获取最大结果列表的 API 调用。
var finalURL = "https://www.googleapis.com/youtube/v3/search?key="+this.API+"&channelId="+this.channelID+"&part=snippet,id&order=date&maxResults="+this.result+"";
但我不知道从上一个 videoId 如何让 API 每次都调用接下来的 3 个视频?。
您在提交初始请求之前设置了 maxResults
;这将决定您取回多少物品。在您的情况下,将其设置为 3。
提交初始请求后,如果有更多结果,您将在 YouTube API 的回复中收到 nextPageToken
。将其作为 pageToken
包含在您的下一个请求中,它将 return 它找到的下一个 maxResults
项目。 (如果没有 nextPageToken,则没有更多结果。)
因此您的代码可能如下所示:
var maxResults = 3;
var finalURL = 'https://www.googleapis.com/youtube/v3/search?key=' + this.API +
'&channelId=' + this.channelID +
'&part=snippet,id&order=date&maxResults=' + maxResults;
// this should be the response from your previous request
if (response.nextPageToken) {
finalURL += '&pageToken=' + response.nextPageToken;
}
查看 YouTube API documentation on pagination 了解完整详情。