Google Drive API:列出特定文件夹中的文件

问题描述 投票:0回答:2

我需要列出驱动器特定文件夹中的所有文件。它正在工作,但并不像预期的那样。 即使文件已被删除并放入垃圾箱,我也会获得此文件夹中文件的完整列表。

我怎样才能只获取真正在这个文件夹中的文件?

async listActiveSeries()
{
    let _RESULT = null;
    
    try
    {
        const auth = await this._makeClient();
        const googleDriveClient = google.drive({ version: 'v3', auth });

        const response = await googleDriveClient.files.list
        ({
            pageSize: 150,
            q: `'${ID_OF_THE_FOLDER}' in parents`
        });

        if(response && response.data && response.data.files)
        {
            _RESULT = response.data.files;
        }
    }
    catch(ex)
    { console.log(ex); }
    
    return _RESULT;
}
node.js google-drive-api
2个回答
5
投票

我相信你的目标如下。

  • 您只想检索特定文件夹中的文件列表。
  • 您不想将文件包含在垃圾箱中。

在这种情况下,如何使用

trashed=false
进行搜索查询?当你的脚本修改后,就会变成如下所示。

来自:

q: `'${ID_OF_THE_FOLDER}' in parents`

致:

q: `'${ID_OF_THE_FOLDER}' in parents and trashed=false`
  • 通过添加
    trashed=false
    AND
    ,垃圾箱中的文件将不会被检索。

参考:


0
投票

要从特定文件夹获取文件,您需要执行以下操作:

val files = googleSerive
        .files()
        .list()
        .setQ("mimeType='application/vnd.google-apps.folder'")
        .setQ("parents='14GyOOlAcGT_AroCwoRyXRWdalnAOykss'")
        .setSpaces("drive")
        .setFields("nextPageToken, files(id, name, mimeType)")
        .setPageSize(20)
        .execute()

其中 14GyOOlAcGT_AroCwoRyXRWdalnAOykss 是您的父文件夹的 ID。 您可以从浏览器 URL 链接或运行与上面类似的命令获取此 ID

googleSerive.files().list()
    .setQ("mimeType = 'application/vnd.google-apps.folder'")
    .setQ("name = 'YOUR_FOLDER_NAME'")
    .setFields("nextPageToken, files(id, name)")
    .setPageSize(10)
    .execute()
© www.soinside.com 2019 - 2024. All rights reserved.