如何使用API​​在Google云端硬盘上获得相同的“最近”结果?

时间:2019-08-07 05:23:51

标签: android kotlin google-drive-api google-drive-android-api

我正在使用Google Drive API开发一个Android应用。

通常,我可以使用查询API来获取文件。

我现在要做的是使用“ Google云端硬盘-最近使用的”作为同一屏幕。

但是看来https://developers.google.com/drive/api/v3/reference/files/list中没有用于'Recent'的API

所以我正在尝试...

  1. 获取所有列表(文件夹类型除外)。
  2. 使用时间字段排序。

但是结果与Web(Google云端硬盘“最近的”)不同。

我的排序逻辑在这里:

fun sort(files: MutableList<com.google.api.services.drive.model.File>) {
    files.sortBy {
        val createdTime = it.createdTime?.value ?: 0
        val modifiedByMeTime = it.modifiedByMeTime?.value ?: 0
        val modifiedTime = it.modifiedTime?.value ?: 0
        val viewedByMeTime = it.viewedByMeTime?.value ?: 0
        val sharedWithMeTime = it.sharedWithMeTime?.value ?: 0

        maxOf(createdTime, modifiedByMeTime, modifiedTime, viewedByMeTime, sharedWithMeTime)
    }
}

如何通过网络版Google云端硬盘“最近”获得相同的结果?

还有一件事...

我的目标客户正在使用“共享驱动器”。 在这种情况下,它更加复杂。

enter image description here

列表底部没有“从不”项目。 并且文件列表不显示“日期时间”。 但是在我的应用中,它显示了日期。

enter image description here

我不知道如何使用API​​获取相同的“最近列表”。

1 个答案:

答案 0 :(得分:0)

尝试使用以下参数:

  • OrderBy: lastviewedByMeDate desc //Use "desc", otherwise default lastviewedByMeDate will show you the oldest files first
  • q::trashed = false和mimeType!='application / vnd.google-apps.folder'//So you also avoid files in trash and folders

有关搜索查询here

的更多信息

由于我不喜欢kotlin,因此我无法给您提供编码示例,但是希望对您有所帮助!