将Google云端硬盘文档导出为支持的MIME类型

att*_*tti 5 google-drive-api

我使用rest api(版本3)将文件上传到云端硬盘,我可以上传这些文件.但是当我尝试导出该文件时,我得到了

403:Export only supports Google Docs.
Run Code Online (Sandbox Code Playgroud)

如果我在驱动器编辑器上创建文件然后导出它,它将正确导出.在API的第2版中,我可以看到有一个选项

convert=true
Run Code Online (Sandbox Code Playgroud)

但在版本3中没有这样的选择.

Stack over Flow链接 但这适用于版本2

abi*_*ita 1

上传文件时,您只需将 Google 文档 mimeType 指定为云端硬盘文件即可。

该文档给出了将 .csv 文件转换为 Sheets 文件的示例。

File fileMetadata = new File();
fileMetadata.setName("My Report");
fileMetadata.setMimeType("application/vnd.google-apps.spreadsheet");

java.io.File filePath = new java.io.File("files/report.csv");
FileContent mediaContent = new FileContent("text/csv", filePath);
File file = driveService.files().create(fileMetadata, mediaContent)
.setFields("id")
.execute();
System.out.println("File ID: " + file.getId());
Run Code Online (Sandbox Code Playgroud)

  • 我知道这是一个很好的解决方法。但是对于OP的问题是否有适当的解决方案(在通过v3 api下载之前能够将已上传的工作表转换为谷歌文档)? (3认同)