Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/306.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 将文件插入Google Drive时无法设置文件修改日期_Java_Android_Google Drive Api - Fatal编程技术网

Java 将文件插入Google Drive时无法设置文件修改日期

Java 将文件插入Google Drive时无法设置文件修改日期,java,android,google-drive-api,Java,Android,Google Drive Api,我正在使用Google Drive API Java客户端库将文件插入Google Drive。上传到驱动器上的任何文件都将以上传时的修改时间为准,而不是原始文件的修改时间。我使用了文件对象的setModifiedDate来设置日期 在参阅上的文件后,我看到以下文本: 上次任何人修改此文件时(格式为RFC 3339 时间戳)。只有当setModifiedDate 参数已设置 但是,我在文档中找不到参数setModifiedDate,Java库在类com.google.api.services.d

我正在使用Google Drive API Java客户端库将文件插入Google Drive。上传到驱动器上的任何文件都将以上传时的修改时间为准,而不是原始文件的修改时间。我使用了
文件
对象的
setModifiedDate
来设置日期

在参阅上的文件后,我看到以下文本:

上次任何人修改此文件时(格式为RFC 3339 时间戳)。只有当setModifiedDate 参数已设置


但是,我在文档中找不到参数
setModifiedDate
,Java库在类
com.google.api.services.drive.drive.Files.Insert中也没有方法
setModifiedDate(布尔参数)
(相反,update类
com.google.api.services.drive.drive.Files.update
包含
setModifiedDate(布尔参数)
方法,该方法非常有效)。

此代码用于我在上传文件到驱动器之前保留文件的修改日期和时间

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;
......

嘿,jai,我在内部为此提交了一个功能请求。实际上,这似乎只是为更新操作启用的,但我看到这对于插入操作是多么有用。