相关疑难解决方法(0)

使用Google Advanced Drive服务在Apps脚本文件夹中创建新文件

有四种方法可以创建新文件:

  • DocsList - 在主列表中显示为DocsList.内置于Apps脚本.
  • DriveApp - 在主列表中显示为驱动器.内置于Apps脚本.
  • Drive API - 在主列表中也显示为Drive. 必须添加到Apps脚本.
  • DocumentApp - 在主列表中显示为文档.内置,但只创建一个文档文件.

它们都被称为服务.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)

google-apps-script google-drive-api

12
推荐指数
3
解决办法
2万
查看次数

Google Apps脚本:如何在文件夹中创建文件?

我有一个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之前有一点滞后.

google-apps-script

8
推荐指数
4
解决办法
3万
查看次数