Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

251
Visualizações
APPS SCRIPTS (GOOGLE SHEETS) how can i append only the new data to sheets from drive api in appscripts?

I have a cod to List all Google Drive links of Files / folder to Google Sheet, is this https://ourtechroom.com/fix/list-all-googledrive-links-files-folder-to-googlesheet/ I make a litle modification. I need can append only the new data on the sheet. this is my code:

I try to make a for loop, but maybe the get.url and get.value dont work in the same format

  var folderId = '1f7nxxfOMtUs1Pa-gK45EKAKuqHZvSJ_W';
  if (folderId === "") {
    Browser.msgBox('Folder ID is invalid');
    return;
  }
  getFolderTree(folderId, true); 
};

// Get Folder Tree
function getFolderTree(folderId, listAll) {
  try {
    // Get folder by id
    var parentFolder = DriveApp.getFolderById(folderId);
    
    // Initialise the sheet
    var file, data, sheet = SpreadsheetApp.getActive().getSheetByName("listlic");
    
    
    // Get files and folders
    getChildFolders(parentFolder.getName(), parentFolder, data, sheet, listAll);
  } catch (e) {
    Logger.log(e.toString());
  }
};

// Get the list of files and folders and their metadata in recursive mode
function getChildFolders(parentName, parent, data, sheet, listAll) {
  var childFolders = parent.getFolders();
  let num = 0
  // List folders inside the folder
  while (childFolders.hasNext()) {
    var childFolder = childFolders.next();
    var folderId = childFolder.getId();
    num+=1
    
    // List files inside the folder
    var files = childFolder.getFilesByType(MimeType.GOOGLE_SHEETS);
    
    while (listAll & files.hasNext()) {
      var childFile = files.next();
      var link = childFile.getUrl().replace("drivesdk", "sharing");
      data = [ 
        parentName + "/" + childFolder.getName() + "/" + childFile.getName(),
        childFile.getName(),
        "Files",
        childFile.getDateCreated(),
        link,
        childFile.getLastUpdated(),
        childFile.getDescription(),
        childFile.getSize()/1024,
        childFile.getOwner().getEmail(),
      ];
      // Write
      var lastRow = sheet.getLastRow();
      var activesheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
      var datel = childFile.getDateCreated();
      for (var i=2; i<= num;i++) {
        var workingcell = sheet.getRange('A' + i + ':I' + i);
        var row = workingcell.getValues();
        if (row !== data){
          sheet.appendRow(data);
        }
        num-=1
      }
    }
    // Recursive call of the subfolder
    getChildFolders(parentName + "/" + childFolder.getName(), childFolder, data, sheet, listAll);  
  }
};```

**help pls**
about 4 years ago · Juan Pablo Isaza
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda