如何按文件夹、名称、大小、日期对 GTLQueryDrive 项目进行排序

Posted

技术标签:

【中文标题】如何按文件夹、名称、大小、日期对 GTLQueryDrive 项目进行排序【英文标题】:How to sort GTLQueryDrive items by folders first, name, size, date 【发布时间】:2016-05-28 18:10:36 【问题描述】:

为了获得物品,我这样做:

GTLQueryDrive *query = [GTLQueryDrive queryForFilesList];
query.q = [NSString stringWithFormat:@"'%@' IN parents and trashed=false", folderID];
query.fields = @"files(mimeType, id, name, size, createdTime)";
[self.service executeQuery:query completionHandler:^(GTLServiceTicket *ticket,
GTLDriveFileList *files,
      NSError *error) 
];

但是文件和文件夹散落在各处,没有按名称排序。 那么不手动排​​序怎么办呢?

谢谢大家的回答。

【问题讨论】:

【参考方案1】:

基于此thread,您可以使用值为stringorderBy 查询参数按特定条件或键对文档列表供稿进行排序。有效键为createdDatefolderlastViewedByMeDatemodifiedByMeDatemodifiedDatequotaBytesUsedrecencysharedWithMeDatestarredtitle。默认情况下,每个键按升序排序,但可以使用 desc 修饰符反转。

示例用法:?orderBy=folder,modifiedDate desc,title。请注意,对于拥有大约 100 万个文件的用户,当前的限制是忽略所请求的排序顺序。

您还可以查看这些相关的 SO 问题:

Google drive API - List orderBy does not work Get files list in a folder order by Modified date desending Sort files by creation date - ios

【讨论】:

这是完美的答案。

以上是关于如何按文件夹、名称、大小、日期对 GTLQueryDrive 项目进行排序的主要内容,如果未能解决你的问题,请参考以下文章

file.listFiles()按文件大小名称日期排序方法

如何实现对文件夹的按大小排序

如何按创建日期而不是名称对 Cloud Firestore 集合中的文档进行排序?

如何按日期对 NSMutableArray 进行分组

如何在excel中按名称和日期缩写

log4j怎样既按大小又按日期