如何通过Google Vault API获取事务中已删除SharedDrive的ID以导出数据?
如何获取Vault保留的已删除共享驱动器ID用于API导出?
我正在使用Google Vault API搜索并导出Shared Drives中的文件。以下是我创建Export对象的代码:
var export = new Export() { MatterId = matterId, Name = "Vault_Export_SharedDrive", ExportOptions = new ExportOptions { DriveOptions = new DriveExportOptions { IncludeAccessInfo = true, } }, Query = new Query { Corpus = "DRIVE", //HELD_DATA, ALL_DATA DataScope = "ALL_DATA", //ACCOUNT, ENTIRE_ORG SearchMethod = "SHARED_DRIVE", Method = "SHARED_DRIVE", SharedDriveInfo = new SharedDriveInfo { SharedDriveIds = new[] { "0AM11RrV1239Uk9PVA" } }, //StartTimeRaw = "2024-07-01T15:01:23Z", //EndTimeRaw = "2024-07-30T15:01:23Z", } };
我了解Query中的SharedDriveInfo属性需要传入SharedDrive ID数组,正常的SharedDrive ID可通过Google Drive API获取,但对于已在工作区删除但仍被Vault matter保留的SharedDrive,我该如何获取其ID?
我的场景如下:
- 创建一个SharedDrive并将其纳入Vault matter保留;
- 删除该SharedDrive后,在Vault页面搜索时选择"All Data"、"Entity"选择"SharedDrive",仍能加载并选择该事务中所有SharedDrive(包括已删除的)。
请问如何获取这类已删除SharedDrive的ID,以便用于上述的数据导出操作?
解决方案
你可以通过以下两种方式获取被Vault保留的已删除共享驱动器ID:
1. 从Vault UI提取ID
当你在Vault网页端搜索界面选择已删除的SharedDrive时,可通过浏览器工具提取ID:
- 打开Vault的搜索页面,选择对应matter,设置
Corpus为Drive、DataScope为All Data、Entity为SharedDrive; - 打开浏览器开发者工具(F12),切换到「网络」标签;
- 在SharedDrive选择列表中点击目标已删除驱动器,查看此时发起的API请求(通常是
search或list类请求); - 在请求参数或响应数据中,就能找到对应的
sharedDriveId值。
2. 使用Vault API的保留相关接口
如果该共享驱动器是被某个Vault保留规则(Hold)纳入保留的,可以调用以下接口获取:
- 调用
matters.holds.list获取当前matter下的所有保留规则; - 针对目标保留规则,调用
matters.holds.holders.list并设置corpus=DRIVE,返回结果中会包含被保留的SharedDrive ID(即使已被删除)。
注意事项
- 已删除的SharedDrive无法通过常规Drive API获取,必须通过Vault相关的界面或接口提取;
- 确保你的API账号拥有
Vault Retention Manager或更高权限,才能访问保留相关的接口和数据。
内容的提问来源于stack exchange,提问作者Elva White
相关产品推荐
相关产品推荐

