我与我工作的公司有一个Google共享驱动器(请注意,这与“与我共享”中提供的共享文件夹不同-没有人拥有共享驱动器,一个团队拥有/管理它)。
我希望共享驱动器中存在脚本,并且该脚本可以访问共享驱动器(即作用域在共享驱动器内)。据我所知,默认情况下,DriveApp具有创建者的“我的云端硬盘”的范围。因此,我可以创建一个保存在共享驱动器中的脚本,但是DriveApp仍然仅在“我的驱动器”范围内。
此代码
var rootFolder = DriveApp.getRootFolder();
console.log("Root Folder:", rootFolder.getName());
总是返回Root Folder: My Drive
是否可以指定DriveApp运行哪个驱动器?即得到上面的代码以返回Root Folder: Shared Drive Name
答案 0 :(得分:1)
很遗憾,在当前阶段,DriveApp.getRootFolder()
返回了自己的Google云端硬盘的根文件夹。因此,为了检索共享驱动器的根文件夹,我想提出以下脚本。
如果共享的驱动器只有一个,那么以下示例脚本如何?使用此功能时,please enable Drive API at Advanced Google services。在此脚本中,使用驱动器API中的“驱动器:列表”方法检索共享驱动器的驱动器ID和名称。
var drive = Drive.Drives.list().items[0];
var rootFolder = DriveApp.getFolderById(drive.id);
console.log("Root Folder:", drive.name);
// When you want to retrieve the files, you can also use the following script.
var files = rootFolder.getFiles();
while (files.hasNext()) {
console.log(files.next().getName())
}
DriveApp
这样的云端硬盘服务必须能够使用共享的云端硬盘。但是在当前阶段,似乎所有功能都无法用于共享驱动器。我相信这些可能会在将来的更新中得到解决。rootFolder.getName()
不是共享Drive的名称。在我的环境中,它是Drive
。所以我用了drive.name
。