【发布时间】:2017-01-09 12:26:11
【问题描述】:
我正在尝试使用 API 在云端硬盘上的特定文件夹中查找文件。这样做的原因是我的文件可以在多个文件夹中具有相同名称的副本。这是我为检查文件是否存在而编写的内容的片段,但结果查询是未定义的。有人有想法吗?
function checkFile(filename, auth, folderId){
var service = google.drive('v3');
console.log("folderId: " + folderId);
var objectExists = false;
var fetchPage = function(pageToken, pageFn, callback) {
service.files.list({auth: auth,
resource: { parents: [ folderId ] },
q: "mimeType='application/pdf' and trashed=false",
fields: 'nextPageToken, files(id, name)',
spaces: 'drive',
pageToken: pageToken,
}, function(err, res) {
if(err) {
callback(err);
} else {
console.log(res)
if(res.files != undefined){
res.files.forEach(function(file) {
if(file.name == filename)
{
console.log('Found file: ', file.name, file.id);
objectExists = true;
}
});
if (res.nextPageToken) {
pageFn(res.nextPageToken, pageFn, callback);
} else {
callback();
}
}
else {
callback();
}
}
});
};
fetchPage(null, fetchPage, function(err) {
if (err) {
// Handle error
console.log(err);
} else {
if(!objectExists)
createFile(filename, auth, folderId)
}
});
}
【问题讨论】:
标签: javascript search directory drive