我试图使用nextPageToken获得超过50个结果。我需要收集播放列表或频道中的所有视频,然后从获取的列表中选择随机视频。我遇到的问题是,并非所有页面都有' nextPageToken'价值(为什么?)因此它不会让我获得所有视频。
这是我的节点文件:
const request = require('request')
var tokens = [];
function getTokens(token) {
var additions = "";
if(token != "") additions = '&pageToken='+token;
request('https://www.googleapis.com/youtube/v3/search?part=snippet&maxResults=30&type=playlist&channelId=CHANNEL-ID&key=MY-KEY' + additions, function (error, response, body) {
body = JSON.parse(body)
if (!error && response.statusCode == 200) {
console.log(body.nextPageToken+"-"+body.items.length);
getTokens(body.nextPageToken);
}
})
};
getTokens("");
输出结果:(总共应该有800个结果,每页30个结果 - > 26个令牌),如您所见,只有15个令牌可用: