以下の関数では、existingFiles
オブジェクトが空に戻されます。javascriptオブジェクトは常に空です
「service.files.list」の最後に印刷すると、期待した結果が表示されます。
私には何が欠けていますか?
同じ/類似の質問のある古い投稿がありますが、検索時に正しいキーワードが見つからないことがあります。 existingFilesのみ(files.lenght!= 0の場合の値を取得するので
function searchFiles(auth, fileName) {
"use strict";
let service = google.drive('v3');
let existingFiles = new Object();
service.files.list({
auth: auth,
q: "name contains '"+fileName+"' and trashed = false",
spaces: 'drive',
pageSize: 100,
fields: "nextPageToken, files(id, name)"
}, function(err, response) {
if (err) {
doNotify(hipchatChannelID, hipchatFromUser, 'The API returned an error: '+err,'red');
return;
}
let files = response.files;
if (files.length == 0) {
//console.log('No files found.');
} else {
for (let i = 0; i < files.length; i++) {
let file = files[i];
existingFiles = { 'fileName':file.name, 'fileID':file.id };
}
}
});
//console.log(JSON.stringify(existingFiles));
return existingFiles;
}