按名称获取文件夹driveapp

问题描述 投票:0回答:1

我正在尝试自动将附件放入我的驱动器文件夹中。脚本/循环运行良好,直到有类似的文件夹名称可供查找。代码只给出了第一个。因此,当我有两个驱动器文件夹,一个名为“Test”,另一个名为“Test new”,并且代码中“driveFolder”的输入是“Test new”时,它将附件放在文件夹“Test”中。谁能帮我获取具有确切文件夹名称的文件夹? (“driveFolder 的输入来自包含所有文件夹名称的工作表)以下是我使用的代码(部分):

var folders = DriveApp.getFoldersByName(driveFolder); 
var  folder = folders.hasNext() ? folders.next() : DriveApp.createFolder(folder_name);

提前致谢

google-apps-script google-sheets spreadsheet
1个回答
4
投票

GDrive 中的文件夹名称不必是唯一的,因此尝试通过名称唯一标识文件夹必然会失败。

文件夹 ID 是唯一的,因此您可以确定您正在保存要保存的确切文件夹。

DocsList.getFolderById("123412341234")

顺便说一句,对 Google Drive 使用的数据结构知之甚少,它看起来绝对不像一棵树。更像是哈希图。

--编辑--

Google Workspace 参考:

DriveApp.getFolderById(id)

DriveApp.getFoldersByName(名称)

*注意,按名称获取文件夹会返回FolderIterator 中的集合,如@matcheek 所描述。您可以按该名称获取所有文件夹,然后根据其他标准选择正确的文件夹,甚至根据需要使用所有文件夹。

© www.soinside.com 2019 - 2024. All rights reserved.