有四种方法可以创建新文件:
它们都被称为服务.Drive API称为高级服务.那么,你应该使用哪一个?我不知道,这取决于.此问题与Drive API高级服务有关.
我不想使用2或3个服务来完成工作.我想用其中一个.但是要决定使用哪一个,我需要知道所有这些的功能和选项.如果最简单和最容易使用的将会做我想要的一切,那么我将使用它.
如果我可以使用Drive API创建新文件,但我需要使用DriveApp服务将我使用Drive API创建的文件移动到我想要的文件夹,那么在特定情况下使用Drive API毫无意义.
我可以通过Google Apps脚本.gs代码在我的Google云端硬盘中创建一个新文件,但该文件会写入主"我的云端硬盘".我想将文件直接写入子文件夹.我目前的代码是:
var fileNameSetA = 'someFile.jpg';
var uploadedBlobA = an image uploaded with a file picker;
var fileTestDrive = {
title: fileNameSetA,
mimeType: 'image/jpeg'
};
fileTestDrive = Drive.Files.insert(fileTestDrive, uploadedBlobA);
Run Code Online (Sandbox Code Playgroud)
即使代码有效,我也不知道为什么语法是这样的,我找不到告诉我原因的文档.我可以找到一个属性列表:
在title:和mimeType:可选属性的部分Request Body.从示例中,可选属性显然放在一个键:值配对对象中.那么,语法是:
Drive.Files.insert(optional properties, …Run Code Online (Sandbox Code Playgroud) 我有一个Apps脚本,可以创建多个文件并将它们移动到一个文件夹中.有没有办法将文件直接放在一个文件夹中,或者首先必须获取该文件,然后将其复制到相应的文件夹,然后将其从根文件夹中删除,如下所示:
folder=DocsList.createFolder("MyFolder");
var file=DocsList.createFile(blob);
file.addToFolder(folder);
file.removeFromFolder(DocsList.getRootFolder());
Run Code Online (Sandbox Code Playgroud)
这样做的问题是,如果您打开驱动器,您会看到文件首先放在根文件夹中,然后移动到MyFolder.所以在执行removeFromFolder之前有一点滞后.