【问题标题】:How to get the same result of 'Recent' on Google Drive using the API?如何使用 API 在 Google Drive 上获得相同的“最近”结果?
【发布时间】:2019-08-07 05:23:51
【问题描述】:

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

一般情况下,我可以使用查询 API 获取文件。

我现在想做的是用“Google Drive - 最近”制作同一个屏幕。

但看起来https://developers.google.com/drive/api/v3/reference/files/list 中没有“最近”的 API

所以我正在尝试...

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

但结果与网络不同(Google Drive 'Recent')。

我的排序逻辑在这里:

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 Drive 'Recent' 获得相同的结果?

还有一件事……

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

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

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

【问题讨论】:

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


    【解决方案1】:

    尝试使用下一个参数:

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

    有关搜索查询的更多信息here

    由于我不喜欢kotlin,所以我不能给你一个编码示例,但我希望这会有所帮助!

    【讨论】:

    • 谢谢,但这对我没有帮助。有一些时间属性“viewedByMeTime, createdTime, modifiedTime, modifiedByMeTime, sharedTime, ...”。我使用了它们,但我的列表与谷歌驱动器网络屏幕不同。
    • 你不需要传递参数,默认googleapis.com/drive/v3/files返回最近的文件
    猜你喜欢
    • 2012-06-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-10
    • 1970-01-01
    • 2017-07-31
    • 1970-01-01
    • 2023-03-23
    • 2021-07-12
    相关资源
    最近更新 更多