google-drive-api - Google Drive API:列出共享驱动器下的所有文件夹
问题描述
关于列出共享驱动器下的文件夹的问题。
通过将查询参数传递为以下方式调用下面的 API 时,我能够获得成功的响应:
- includeTeamDriveItems=true
- q='0AATe_aghhsdfvbdfg' 在父母和 mimeType = 'application/vnd.google-apps.folder'</li>
- 支持AllDrives=true
成功响应:
{
"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?(例如:获取父文件夹“Integration”下的所有子文件夹)
- 迪利普
解决方案
父文件夹下的文件夹可以通过一个 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
从您的问题来看,我认为您已经完成了上述工作。
在当前阶段,无法直接检索到父文件夹下的所有嵌套子文件夹。
在这种情况下,需要准备一个脚本。
- 我认为这个线程会很有用。
不幸的是,在当前阶段,这似乎是谷歌方面的当前规范。
笔记:
- 在大多数情况下,
includeItemsFromAllDrives=true
并且supportsAllDrives=true
可以使用。但我有一些情况corpora=drive
也是driveId=###
必需的。因此,当您在共享云端硬盘中无法检索文件时,请尝试使用此功能。
参考:
推荐阅读
- php - 使用多个查询(只有一个有效)
- c# - C# 事件委托:更改参数
- asp.net - 'Emgu.CV.MatInvoke' 的初始化程序在 Windows Server 2012 操作系统中引发异常?
- elasticsearch - 是否可以为 Elasticsearch 维护从 FileBeat 到 LogStash 的索引名称?
- python - python matplot图上未显示时间戳
- c - 无法将文本文件转换为二进制文件
- javascript - 对于 Jest 测试用例,'globalThis' 被低估了
- javascript - 如何在图像更改时暂停音频 onmouseout
- firebase - 使用带有 Vue Js 的 Firebase 云功能发送电子邮件时出错
- javascript - 如何同步多个handsontable水平滚动