【问题标题】:Cannot set the file modified date when inserting file to Google Drive将文件插入 Google Drive 时无法设置文件修改日期
【发布时间】:2013-06-29 00:36:44
【问题描述】:

我正在使用 Google Drive API Java 客户端库将文件插入到 Google Drive。上传到云端硬盘的任何文件都采用上传时的修改时间,而不是原始文件的修改时间。我使用File 对象的setModifiedDate 来设置日期。

在看到Google Developers 的文档时,我看到以下文字 -

此文件上次被任何人修改的时间(格式为 RFC 3339 时间戳)。这仅在 setModifiedDate 更新时可变 参数已设置。

但是,我在文档中找不到参数setModifiedDate,Java库在com.google.api.services.drive.Drive.Files.Insert类中也没有方法setSetModifiedDate(Boolean arg)(相反,更新类com.google.api.services.drive.Drive.Files.Update包含setSetModifiedDate(Boolean arg)完美的方法)。

【问题讨论】:

  • 嘿 jai,我正在内部为此提交功能请求。事实上,这似乎只对更新操作启用,但我看到这对插入操作很有用。

标签: java android google-drive-api


【解决方案1】:

此代码可让我在将文件上传到云端硬盘之前保留文件的修改日期和时间。

long modifiedDateTime = new java.io.File("/path/to/file").lastModified();
Time t = new Time();
t.set(modifiedDateTime);
t.switchTimezone(Time.getCurrentTimezone());
String modifiedDateAsRfc3339 = t.format3339(false);

// create the file to upload here
com.google.api.services.drive.model.File body = new File();
body.setTitle("/path/to/file");
body.setMimeType("mimetype");
// here is where you set the modified date to match the file's modified date
body.setModifiedDate(com.google.api.client.util.DateTime.parseRfc3339(modifiedDateAsRfc3339));


InputStreamContent mediaContent;
......

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-13
    • 2022-01-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多