有关列出共享驱动器下的文件夹的问题。
通过将查询参数传递为以下内容,我可以在调用下面的API时获得成功的响应:
成功的响应:
{
"kind": "drive#fileList",
"incompleteSearch": false,
"files": [
{
"kind": "drive#file",
"id": "1E-c0rNCQMlQvXNUGTKSWdPHBOwwzjtcf",
"name": "Integration",
"mimeType": "application/vnd.google-apps.folder",
"teamDriveId": "0AATe_aghhsdfvbdfg",
"driveId": "0AATe_aghhsdfvbdfg"
},
{
"kind": "drive#file",
"id": "1QOMRSPuE1msJJmyr3yJOMZsBrn3nrtAx",
"name": "Folder1",
"mimeType": "application/vnd.google-apps.folder",
"teamDriveId": "0AATe_aghhsdfvbdfg",
"driveId": "0AATe_aghhsdfvbdfg"
}
]
}
问题:从响应中返回共享驱动器下的现有文件夹。是否可以一次获取父文件夹下的所有子文件夹,而不必每次都在查询参数下传递父文件夹ID? (例如:要获取父文件夹“集成”下的所有子文件夹)
答案 0 :(得分:1)
可以使用一个API调用通过搜索查询来检索父文件夹下的文件夹,如下所示。在这种情况下,'folderId' in parents
被用作搜索查询。
curl \
'https://www.googleapis.com/drive/v3/files?corpora=drive&driveId=driveId&includeItemsFromAllDrives=true&q=%27folderId%27%20in%20parents&supportsAllDrives=true' \
--header 'Authorization: Bearer [YOUR_ACCESS_TOKEN]' \
--header 'Accept: application/json' \
--compressed
并且,当您要检索2个文件夹下的文件时,也可以使用以下示例。在这种情况下,'folderIdA' in parents or 'folderIdB' in parents
被用作搜索查询。
curl \
'https://www.googleapis.com/drive/v3/files?corpora=drive&driveId=driveId&includeItemsFromAllDrives=true&q=%27folderIdA%27%20in%20parents%20or%20%27folderIdB%27%20in%20parents&supportsAllDrives=true' \
--header 'Authorization: Bearer [YOUR_ACCESS_TOKEN]' \
--header 'Accept: application/json' \
--compressed
从您的问题来看,我认为您已经完成以上操作。
在当前阶段,无法直接检索父文件夹下的所有嵌套子文件夹。
在这种情况下,需要准备脚本。
不幸的是,在当前阶段,这似乎是Google方面的当前规范。
includeItemsFromAllDrives=true
和supportsAllDrives=true
。但是在某些情况下,我还需要corpora=drive
和driveId=###
。因此,在共享的云端硬盘中,无法检索文件时,请尝试使用此功能。