也从垃圾箱中删除文件

问题描述 投票:0回答:1

我有以下自动化系统,但我找不到从 bin 中删除 PDF 文件和临时文件的解决方案。

function afterFormSubmit(e) {
  const info = e.namedValues;
  const pdfFileId = createPDF(info);
  sendEmail(e.namedValues['Adresă de e-mail'][0], pdfFileId);
  deleteFormResponses();
}

function sendEmail(email, pdfFileId) {
  const pdfFile = DriveApp.getFileById(pdfFileId);
  GmailApp.sendEmail(email, "Subiect", "Mesaj", {
    attachments: [pdfFile],
    name: 'IBS'
  });
}

function createPDF(info) {

  var date = Utilities.formatDate(new Date(), "GMT+2", "dd/MM/yyyy | HH:mm");
  const pdfFolder = DriveApp.getFolderById("id");
  const tempFolder = DriveApp.getFolderById("id");                                 
  const templateDoc = DriveApp.getFileById("id");
  const newTempFile = templateDoc.makeCopy(tempFolder);
  const openDoc = DocumentApp.openById(newTempFile.getId());
  const body = openDoc.getBody();

          body.replaceText("{{nume_familie}}", info['Nume Familie'][0]);
          body.replaceText("{{adresa_locuinta}}", info['Adresa (acasa)'][0]);
          

  openDoc.saveAndClose();
  const blobPDF = newTempFile.getAs(MimeType.PDF);
  const pdfFile = pdfFolder.createFile(blobPDF).setName("Fam. "+info['Nume Familie'][0]+" (plan SU) - " + date);
  

pdfFile.setTrashed(真); newTempFile.setTrashed(真);

  return pdfFile.getId(); // return the file ID instead of the file object

}


    function deleteFormResponses() {
      var ss = SpreadsheetApp.getActiveSpreadsheet();
      var shUserForm = ss.getSheetByName("Input");
      shUserForm.getRange("d2:as").clearContent();
    }

我哪里出错了?

google-apps-script pdf spreadsheet delete-file
1个回答
0
投票
  1. 需要添加Drive API库
  2. 删除部分代码修改如下:
    function deleteFile(fileId) {
      Drive.Files.remove(fileId);
      Logger.log('File with ID %s was deleted successfully.', fileId);
    }

成功

© www.soinside.com 2019 - 2024. All rights reserved.