我看到了一些关于这方面的问题,但没有一个涉及到我的场景。
基本上,我想要的是使用令牌进行分页,并列出根文件夹中的所有文件夹和文件,包括共享文件和文件夹。
这看起来是有效的,但一旦我添加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