应用程序脚本驱动应用程序服务-创建一个文件的谷歌类型- Mime类型



我使用DriveApp Folder类的.createFile方法。语法如下:

createFile(name, content, mimeType)

文档在这里:createFile Google DriveApp Service

示例显示了MimeType.HTML的mimeType设置。

// Create an HTML file with the content "Hello, world!"
 DriveApp.createFile('New HTML File', '<b>Hello, world!</b>', MimeType.HTML);

我可以输入MimeType.并获得MimeTypes列表,其中一个是GOOGLE_DOCS。于是我输入了MimeType.GOOGLE_DOCS。但是我得到一个执行错误,说明其中一个参数是无效的。如果我输入的Mime类型是'text/plain',我不会得到任何错误。

如何创建文档类型为Google type的文件?

如果我输入一个Mime类型为'GOOGLE_DOCS'作为文本,它会创建一个文件,但它创建的文件类型为application/octet-stream

如果我使用MimeType.HTML的mime类型,我不会得到一个错误,文件是可以从我的谷歌驱动器。

可以使用DocumentApp.create('File_Name')创建GOOGLE_DOCS的fileType。DocumentApp服务允许创建和操作谷歌文档。欲知详情,请参阅参考资料。

引用:

  • https://developers.google.com/apps-script/reference/document/document-app

为了将最近创建的文档放在文件夹中,您可以使用DriveApp。下面是一个示例代码:

function createandPlaceInFolder(){
  //Create the document
  var doc = DocumentApp.create('My new file');
  //get it as a drive file
  var file = DriveApp.getFileById(doc.getId());
  //get the target folder
  var targetFolder  = DriveApp.getFolderById('MY_FOLDER_ID');//Change it to the folder_Id
  //place the file in target folder
  targetFolder.addFile(file);
}

我正在使用这个修改后的脚本进行表格备份。也许它是有用的,它已经为我解决了同样的问题。它需要在使用它之前启用驱动API。

function makeCopy(fileSheetId, dstFolderId) {
  var fileSheet = DriveApp.getFileById(fileSheetId);
  var dstFolder = DriveApp.getFolderById(dstFolderId);
  var f = fileSheet.makeCopy(dstFolder);
    if (file.getMimeType() == MimeType.GOOGLE_APPS_SCRIPT) {
      Drive.Files.update({"parents": [{"id": dstFolderId}]}, f.getId());
    }
}
function run() {
  var fileSheetId = "<Sheet ID>";
  var dstFolderId = "<Destination folder ID>";
  makeCopy(fileSheetId, dstFolderId);
}

相关内容

最新更新