当前位置: 首页 > 知识库问答 >
问题:

Google Drive API:列出共享驱动器下的所有文件夹

孙凌
2023-03-14

关于在共享驱动器下列出文件夹的问题。

我能够获得成功的响应,同时调用下面的API通过传递查询参数为:

  • includeTeamDriveItems=true

API:https://developers.google.com/drive/api/v3/reference/files/list?apix_params={包含TeamDriveItem: true, q:0AATe_aghhsdfvbdfg在父母和mimeType='应用程序/vnd.google-apps.folder',支持所有驱动器: 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?(例如:获取父文件夹集成下的所有子文件夹)

  • 迪利普

共有1个答案

拓拔俊艾
2023-03-14

>

  • 父文件夹下的文件夹可以通过搜索查询检索,只需一个API调用,如下所示。在本例中,父节点中的'folderId'用作搜索查询。

      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'或父母中的'folderIdB'被用作搜索查询。

      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
    

    从你的问题来看,我认为你已经完成了上述工作。

    在当前阶段中,无法直接检索父文件夹下的所有嵌套子文件夹。

    >

    • 我认为这条线会很有用

    不幸的是,在目前阶段,似乎这是谷歌方面目前的规范。

    • 在大多数情况下,可以使用includeItemsFlomallDrives=truesupportsAllDrives=true。但是我有一些案例,也需要corba=drivedriveId=###。因此,当在共享驱动器中无法检索文件时,请尝试使用此选项
    • 文件:列表
    • 搜索文件和文件夹

  •  类似资料:
    • 我正在尝试Google Drive API V3。 拥有一些共享驱动器文件夹的访问权限,并且是所有这些资源的管理员,我想获取一个通过查询筛选的特定文件夹。 出于任何原因,当我尝试按照留档建议插入查询时,它会响应一个错误,这个错误不是很描述性,也不利于调试: 此外,如果我不带条件地执行查询,则响应会成功,并显示整个共享驱动器: 有什么帮助吗? 谢谢

    • 我想在我的帐户下列出Google Drive共享驱动器。我正在使用他们的驱动器:list API来实现这一点。在控制台中运行它成功了,但给了我一个空的驱动器列表,我找不到任何关于原因的线索。 我查看了他们关于实现共享驱动器支持的文档,但这些文档都与列出驱动器无关。 我检查过的东西: 我登录到我认为我是的帐户。我使用关于API来确认。 我已经为控制台应用程序授予了必要的范围(Google API E

    • 我对谷歌驱动器有问题。 链接前: 工作很好,直到现在:-(但现在它不再工作了。结果没有找到错误404,但文件存在。我可以上传文件和轻松构建下载URL。 例如,公共文档。 我如何才能下载未经授权的文件,我需要直接链接。 谢谢!!!

    • 我有一个经过验证的谷歌客户端,我想列出其他人公用文件夹中的文件(我认为共享或不共享的文件夹是不相关的,因为它是公用的) 这是我在NodeJS中的代码 注意:文档中没有“folderId”选项:https://developers.google.com/drive/api/v3/reference/files/list-只是一个drivid选项 虽然我将corpa设置为“drive”和drive I

    • 当我运行下面的代码时,它取自:https://developers.google.com/drive/api/v3/manage-shareddrives#python 我得到“用户对此文件没有足够的权限”如果我创建文件、列出共享驱动器或其他任何东西,都不会发生这种情况。除了['https://www.googleapis.com/auth/drive']. 需要注意的是,我使用的是服务号。服务帐