如何列出Google Drive API v3上的所有根文件夹和共享,同时分页和使用order by



我看到了一些关于这方面的问题,但没有一个涉及到我的场景。

基本上,我想要的是使用令牌进行分页,并列出根文件夹中的所有文件夹和文件,包括共享文件和文件夹。

这看起来是有效的,但一旦我添加orderBy,它就不能很好地工作。如果我删除or sharedWithMe = true,它可以进行排序,但一旦我添加它,就像共享项目没有排序一样。

我做错了什么?

这是我的代码(Kotlin和Android上(:

val response =
gDriveClient.files()
.list()
.setSpaces("drive")
.setCorpora("user")
.setFields("files(id, name, size, modifiedTime, mimeType, parents, quotaBytesUsed),nextPageToken")
.setQ("('root' in parents or sharedWithMe = true) and trashed = false")
.setOrderBy("folder,name")
.setPageSize(params.loadSize)
.setPageToken(token)

不幸的是,您所经历的行为似乎是一个错误,因为您的查询和请求的格式正确,并且是获得所需内容所必需的。我在这里报告了这种行为:https://issuetracker.google.com/issues/174476354。请考虑在报告中加入主角,以表明这也对您产生了影响。

变通办法

对此,一个可能的解决方法是在请求执行后对响应进行排序和筛选,不幸的是,这将不允许您出于特定目的使用分页来执行请求(例如排序您需要的所有文件(。

参考文献

  • Drive.Files.list((

  • 查询参数共享WithMe

最新更新