如何按日期搜索 Google Drive API?

How do I search Google Drive API by date?

我正在使用 Google Drive V3 API 来操作文件夹中的文件。

我目前正在做的是列出我所有的文件:

const data = await drive.files.list({ q: `'${folderId}' in parents` });
console.log(data.files);

基本上我是在使用服务帐户来查询文件夹中的所有文件。我还想查询日期。类似于 createdTime < ${date}.

通读了该站点上的一些帖子和文档,似乎没有这样的功能。我可以看到有使用 modifiedTime 的选项,但是当我尝试使用它时,一切都冻结了,脚本 运行 无限期地。

有人知道我该如何查询吗?

编辑 2012 年 10 月 21 日 11:08

所以我尝试按照 Taneike 的建议执行以下操作:

console.log('1') //this logs in the console
const data = drive.files.list({
    q: `'${folderId}' in parents and createdTime > 2012-06-04T12:00:00-08:00`,
});
//unreachable code below
console.log('2') //this doesn't log
console.log(data) //this doesn't log

所以基本上我的脚本会 运行 无限期地,我必须手动结束脚本。 drive.files.list 不会 return 什么。

我以为createdTime < date可以用。而且,当我看到你的脚本时,我注意到有一个修改点。而且,从你So at the moment, I am able to retrieve all the files in 'Folder A' by using {q: ''${folderID}' in parents'}. What I would like to do is also query it by date. So for example, {q: ''${folderId}' in parents and createdTime < ${date}'}. –的回复来看,我觉得可能还有一个修改点。

当以上几点在你的脚本中体现出来,就变成了下面的样子。

修改后的脚本:

const data = await drive.files.list({q: `'${folderId}' in parents and createdTime < '${date}'`}).catch((err) => console.log(err.errors));
console.log(data.data);
  • 在这种情况下,请将date的值设置为2012-06-04T12:00:00-08:00RFC3339 format

参考文献: