0
我正在使用Node.JS和「請求」庫https://github.com/request/request 我閱讀了文檔,儘管我只能從頻道請求50個視頻,作爲api服務器的響應,但有一個nextPageToken鍵,但我不明白如何讓這個nextPageToken的請求鏈遍歷整個鏈。Youtube Api,如何使用nextPageToken解析所有vids?
`https://www.googleapis.com/youtube/v3/search?key=${key}&channelId=${channelId}&part=snippet,id&order=date&maxResults=50`;
我勾勒出這個代碼
request({url:url}, function(err, response, body){
let data = JSON.parse(body);
for(let i = 0; i < Math.fround(data.pageInfo.totalResults/maxResults); i++){
let newUrl = url + '&pageToken=' + data.nextPageToken;
request({url: newUrl}, function(err, response, body){
newUrl = url + '&pageToken=' + JSON.parse(body).nextPageToken;
console.log(JSON.parse(body).nextPageToken);
})
}
})
在通道+ 450的視頻,沒想到的最佳解決方案,並通過請求視頻的最大數量採取的第一個請求的結果,並分,我得到9-10,然後每個週期10次通過,理論上每個請求應該更新變量newUrl
並且之後,再次訪問服務器以獲得新數據,以及新的nextPageToken。
如何做?
您不必計算你有多少個請求做出。當你收到一個有'nextPageToken'的響應時,你將它設置爲你的下一個請求的'pageToken'的值。然後重複這個過程(例如在'while循環中),總是使用最近的'nextPageToken',直到得到一個沒有設置'nextPageToken'的響應。然後你在搜索結果的末尾。 – paolo
嗨,我正在考慮我將通過循環做什麼,並檢查來自服務器的最後一個回覆是否包含'nextPageToken'的內容,但問題在於我無法執行請求,即查詢鏈將等待響應,並且在應答之後將使用新參數執行... – CHBS