2016-09-01 4 views
0

Я пытаюсь найти файлы в определенной папке на Диске с помощью API. Причина в том, что мои файлы могут иметь копии с одинаковым именем в нескольких папках. Это sniplet того, что я написал, чтобы проверить, существуют ли файлы, но полученный запрос Undifined. У кого-то появилась идея?Google Drive API Node.js Поиск файлов в определенном месте

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) 
    } 
}); 

}

ответ

0

решаемые его путем добавления дополнительных данных в полях:

fields: 'nextPageToken, files(id, name),files/parents', 

с последующим добавлением дополнительного чек-значение:

if(file.name == filename && file.parents[0] == folderId) 
Смежные вопросы