【发布时间】:2017-07-08 05:01:49
【问题描述】:
我正在帮助有以下问题的朋友。
他想在谷歌驱动器中有 3000 个文件夹。他将为每个人生成一个指向其 URL 的二维码。他会在每个文件夹中填满一张人们会在活动中自拍的照片,然后人们会带回家一张小卡片,卡片上印有他们文件夹的二维码,这样他们就可以在家里看到照片。
我使用谷歌的官方nodejs客户端制作了一个小型nodejs程序,它适用于一个文件夹。代码如下:
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 代码,并且文件夹命名不正确。
谁能指出我正确的方向?非常感谢
【问题讨论】:
标签: javascript node.js google-api-nodejs-client