Create a file inside a folder using MimeType inside Google Drive using AppScript - Stack Overflow
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
Comments