作为我为我所工作的公司开发的一套工具的一部分,我在开发中添加了一个插件,在首次安装时会为该套件生成所有相关的文件和文件夹。
由于某些文件的复杂性,我发现使用以下代码是生成文件的最快方法:
function createTemplate(branchId){
var home=DriveApp.getFolderById(branchId)
var master=DriveApp.getFileById(stringId).getBlob();
home.createFile(master);
}
然而,我遇到的问题是,所有文件都是以PDF格式生成的。我知道这是因为默认的blob内容类型是PDF文件类型,getAs(contentType)
可用于指定所需的blob内容类型;但是我很难找到任何文档来指定如何将内容类型称为电子表格。例如。
这是否可行,我在Google的文档中错过了如何将内容类型指定为电子表格,或者它是不可能的,并且只能使用PDF或图像类型的内容类型返回blob?< / p>
更新:因此我意外地发现电子表格的内容类型似乎由application/vnd.google-apps.spreadsheet
指定但是,我现在收到错误Converting from application/pdf to application/vnd.google-apps.spreadsheet is not supported.
进一步更新:使用以下脚本找到使用不同路线的潜在解决方案:
function createTemplate(branchId){
var home=DriveApp.getFolderById(branchId);
var master=DriveApp.getFileById("fileId").makeCopy("PP Template", home);
}
虽然这大约有8秒的运行时间,但这并不是世界上最快的事情。 Blob相关的答案仍然受到欢迎。
答案 0 :(得分:0)
据我所知,blob目前不会做你想做的事。存在DocumentApp.create等的原因。它们是Google希望您为要执行的操作调用的函数。他们不想要13种方法来执行相同的功能。