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

How to list all root folder and shares on the Google Drive API v3 while paging and using order by?

我已经看到了一些关于此的问题,但 none 涵盖了我的场景。

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

这似乎有效,但一旦我添加 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。请考虑在报告中加注星标,以表明您也受到了影响。

解决方法

一个可能的解决方法是在执行请求后对您的响应进行排序和过滤,不幸的是,这不会让您为特定目的执行带有分页的请求(至于订购您需要的所有文件).

参考资料