我使用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);
}