我需要列出驱动器特定文件夹中的所有文件。它正在工作,但并不像预期的那样。 即使文件已被删除并放入垃圾箱,我也会获得此文件夹中文件的完整列表。
我怎样才能只获取真正在这个文件夹中的文件?
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;
}
我相信你的目标如下。
在这种情况下,如何使用
trashed=false
进行搜索查询?当你的脚本修改后,就会变成如下所示。
q: `'${ID_OF_THE_FOLDER}' in parents`
q: `'${ID_OF_THE_FOLDER}' in parents and trashed=false`
trashed=false
为 AND
,垃圾箱中的文件将不会被检索。要从特定文件夹获取文件,您需要执行以下操作:
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()