如何更新Google云端硬盘中的文件内容?

时间:2016-06-07 08:10:03

标签: java google-drive-api

我正在尝试使用其他Google Doc文件的内容更新Google Doc文件的内容。我之所以不使用API​​的copy方法,是因为它会创建另一个带有其他ID的文件。我的目标是保留文件的当前ID。这是一个代码片段,遗憾的是什么都没做:

com.google.api.services.drive.Drive.Files.Get getDraft = service.files().get(draftID);
File draft = driveManager.getFileBackoffExponential(getDraft);
com.google.api.services.drive.Drive.Files.Update updatePublished = service.files().update(publishedID, draft);
driveManager.updateFileBackoffExponential(updatePublished);

两个backoffExponential函数只是在对象上启动execute方法。

在Google上搜索我发现update方法提供了另一个构造函数:

public Update update(java.lang.String fileId, com.google.api.services.drive.model.File content, com.google.api.client.http.AbstractInputStreamContent mediaContent)

事情是,我不知道如何检索Google文档等Google文件的mediaContent。

最后的手段可能是Google Apps脚本,但我宁愿避免使用它,因为它非常缓慢且不可靠。

谢谢。

编辑:我正在使用Drive API v3。

1 个答案:

答案 0 :(得分:0)

尝试Google Drive REST update

  

使用补丁语义更新文件的元数据和/或内容。

     

此方法支持/上传URI并接受上传的媒体   具有以下特点:

     

最大文件大小:5120GB接受媒体MIME类型:/ *

要以可用的格式下载Google文件,您需要指定mime类型。由于您使用的是Spreadsheets,您可以尝试使用application / vnd.openxmlformats-officedocument.spreadsheetml.sheet。 Link to Download files了解更多信息。

相关问题