如何扩展Google Drive脚本筛选条件,获取本人所有已共享文件/文件夹?
获取本人所有且已共享的Google Drive文件/文件夹脚本
以下是符合需求的简短示例脚本,同时支持筛选文件和文件夹:
function listOwnedAndSharedFilesFolders() { const myEmail = Session.getActiveUser().getEmail(); // 筛选本人拥有且已共享的文件 const sharedFiles = DriveApp.searchFiles(`"${myEmail}" in owners and shared`); // 筛选本人拥有且已共享的文件夹 const sharedFolders = DriveApp.searchFolders(`"${myEmail}" in owners and shared`); // 打印已共享文件列表 Logger.log("=== 已共享文件 ==="); while (sharedFiles.hasNext()) { const file = sharedFiles.next(); Logger.log(`${file.getName()} (ID: ${file.getId()})`); } // 打印已共享文件夹列表 Logger.log("\n=== 已共享文件夹 ==="); while (sharedFolders.hasNext()) { const folder = sharedFolders.next(); Logger.log(`${folder.getName()} (ID: ${folder.getId()})`); } }
关键说明:
- 使用模板字符串
${myEmail}简化条件拼接,避免手动转义引号的麻烦 - 核心筛选条件为
"${myEmail}" in owners and shared,确保只返回本人拥有且已对外共享的资源 - 分别调用
searchFiles和searchFolders来同时获取文件和文件夹类型的资源 - 额外输出资源ID,方便后续进行修改权限、移动等操作
内容的提问来源于stack exchange,提问作者J. Doe
相关产品推荐
相关产品推荐

