【问题标题】:How can I get file size and modified date on the V3 Google Drive API?如何在 V3 Google Drive API 上获取文件大小和修改日期?
【发布时间】:2017-09-06 19:00:19
【问题描述】:

我正在 Android 上从 v2 升级到 v3 的 Google Drive API,我想知道在查询文件时如何获取一些额外的字段,最好不要分页。

这是我得到的代码:

FileList result = drive.files().list()
                .setQ("'root' in parents  and trashed=false")
                .setFields("files(id, name, fileSize, modifiedDate, mimeType)")
                .execute();

但它说invalid field selection fileSize

我还想要一种方法来获取文件的下载 url,该文件可以临时用于与其他应用程序共享。这曾经可以通过getDownloadUrl 并在 v2 上添加令牌来实现。

谢谢。

编辑:看起来正确的字段是:

            .setFields("files(id, name, size, modifiedTime)")

【问题讨论】:

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


    【解决方案1】:

    显然files(size) 有效,尽管我没有看到它记录在案。你可以试试here

    我不太确定getDownloadUrl。您可以在this page 查看 v2 到 v3 的转换文档。这表明files.get with ?alt=media 可能是downloadUrl 的合适替代品。

    【讨论】:

    • 如何添加 alt=media 的东西?我在做drive.files().get(id).execute()
    • @casolorz 看看this
    • 谢谢,size 是正确的,我猜这不是我所拥有的 modifiedTime。我在看中间那一栏。我将其标记为正确,下载地址也可以。
    【解决方案2】:

    当您从文件夹中获取文件时:

    val files = driveService.files().list()
                        .setSpaces("appDataFolder")
                        .setFields("files(id, name, createdTime)")
                        .execute()
    

    当你创建文件时:

    val file = driveService.files().create(fileMetadata, mediaContent)
                        .setFields("id, name, createdTime")
                        .execute()
    

    你可以看到所有可用的属性here

    【讨论】:

      猜你喜欢
      • 2017-11-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-01-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多