将Google Drive API与Jav​​a配合使用,如何仅列出驱动器部分/文件夹中的文件

Dav*_*d G 4 java google-drive-api

我正在尝试获取Google云端硬盘特定部分(驱动器部分)中的所有文件.

这些是我要找的文件:

在此输入图像描述

您可以看到名为Projet 3的文件夹和名为的文件Processus TP2 questions.在文件夹中我只有一个文件.

但是当我尝试列出所有文件时,我收到了数千个文件.如果我使用Google云端硬盘顶部的搜索栏搜索它们,它会找到它们,但我不知道它们在哪里(也许是Gmail附件?).

这是我的搜索查询:

FileList result = service.files().list()?    
    .setQ("mimeType != 'application/vnd.google-apps.folder' 
            and trashed = false")?    
    .setSpaces("drive")
    .setFields("nextPageToken, files(id, name, parents)")
    .setPageToken(pageToken)?    
    .execute();
Run Code Online (Sandbox Code Playgroud)

如何仅列出我在Web UI上的驱动器部分/文件夹中可以看到的文件?

非常感谢你.

Ale*_*ets 7

在查询中使用"parents"属性,如下所示:

FileList result = service.files().list()?    
.setQ("'root' in parents and mimeType != 'application/vnd.google-apps.folder' and trashed = false")?    
.setSpaces("drive")
.setFields("nextPageToken, files(id, name, parents)")
.setPageToken(pageToken)?    
.execute();
Run Code Online (Sandbox Code Playgroud)

如果要列出特定文件夹而不是根目录的内容 - 请在查询中使用该文件夹的id而不是"root".