Я помогаю другу, у которого есть следующая проблема.Как я могу сделать 3 тысячи запросов API Google Диска, используя node.js, не превышая ограничение скорости пользователя?
Он хочет иметь 3000 папок на Google Диске. Для каждого из них он будет генерировать QR-код, указывающий на их URL-адрес. Он заполнит каждую папку фотографией, которую люди возьмут на себя, и люди затем возьмут домой небольшую карту с QR-кодом их папки, напечатанной на нем, чтобы они могли видеть фотографию дома.
Я сделал небольшую программу nodejs, используя официальный клиент nodejs google, и отлично работает для одной папки. Вот код:
function listFiles(auth) {
var fileMetadata = {
'name' : "Folder",
"mimeType" : "application/vnd.google-apps.folder"
};
var service = google.drive({version: 'v3', auth: auth});
fileMetadata.name = "FOLDER"
fileMetadata.name = "FOLDER"
service.files.create({
resource: fileMetadata,
fields: "id, webViewLink, name"
},function(err, file){
if(err){
console.log(err);
}
else{
request("https://api.qrserver.com/v1/create-qr-code/?data="+file.webViewLink+"&size=256x256").pipe(fs.createWriteStream("qr"+file.name+".png"));
console.log("Folder id: ", file.id, file.webViewLink);
//datab.close();
}
});
}
Теперь я довольно новичок в nodejs и его асинхронной природе. Я не знаю, как использовать тот же код, если это возможно, для создания 3000 папок. Я попытался использовать цикл for, но затем получил коды ошибок ограничения скорости использования (403). Затем я использовал функцию сна, но у меня все еще было несколько 403 кодов, и папки не были правильно названы.
Может ли кто-нибудь указать мне правильное направление? Большое спасибо