Create a file inside a folder using MimeType inside Google Drive using AppScript - Stack Overflow

PHOTO EMBED

Mon Jun 13 2022 16:24:14 GMT+0000 (Coordinated Universal Time)

Saved by @itsbrex #javascript

const createFile = (filename, folderId, mimeType, content) => {
  const docs = () => {
    const d = DocumentApp.create(filename);
    d.getBody().editAsText().setText(content);
    d.saveAndClose();
    return d.getId();
  }
  const slides = () => {
    const s = SlidesApp.create(filename);
    s.getSlides()[0].insertTextBox(content);
    s.saveAndClose();
    return s.getId();
  }
  const sheets = () => {
    const s = SpreadsheetApp.create(filename);
    s.getSheets()[0].getRange("A1").setValue(content);
    SpreadsheetApp.flush();
    return s.getId();
  }
  const convert = {
    [MimeType.GOOGLE_DOCS]: docs,
    [MimeType.GOOGLE_SLIDES]: slides,
    [MimeType.GOOGLE_SHEETS]: sheets,
    [MimeType.MICROSOFT_WORD]: docs,
    [MimeType.MICROSOFT_POWERPOINT]: slides,
    [MimeType.MICROSOFT_EXCEL]: sheets,
    [MimeType.OPENDOCUMENT_TEXT]: docs,
    [MimeType.OPENDOCUMENT_PRESENTATION]: slides,
    [MimeType.OPENDOCUMENT_SPREADSHEET]: sheets,
  };
  const fileId = convert[mimeType]();
  if (mimeType.includes("google")) {
    Drive.Files.patch({parents: [{id: folderId}]}, fileId);
    return fileId;
  }
  const url = `https://www.googleapis.com/drive/v3/files/${fileId}/export?mimeType=${mimeType}`;
  const blob = UrlFetchApp.fetch(url, {headers: {authorization: `Bearer ${ScriptApp.getOAuthToken()}`}}).getBlob();
  const id = Drive.Files.insert({title: filename, parents: [{id: folderId}]}, blob);
  DriveApp.getFileById(fileId).setTrashed(true);
  return id;
}

// Please run this function.
function main() {
  var ss = SpreadsheetApp.openById('1MUwH0Cm1cwHcTWSCGPp2SePbzs_4QQmtjwOEWOrOkMw');
  var sheetName = ss.getSheetByName("Sheet2");
  var get = sheetName.getRange(2,3).getValue();

  const filename = "sample";
  const folderId = "1rsicZccurujGp5Ye5HUecBIAPf3_h5Pc";
  const mimeType = MimeType.GOOGLE_SLIDES;
  const fileId = createFile(filename, folderId, mimeType, get);
  console.log(fileId);
}
content_copyCOPY

https://stackoverflow.com/questions/61928349/create-a-file-inside-a-folder-using-mimetype-inside-google-drive-using-appscript