2

我已经阅读了https://developers.google.com/drive/v2/reference/上的 API 文档,但是我找不到我的问题的答案。谷歌搜索解决方案的尝试失败了。

我在 Google Drive 中有一系列以前上传的小 HTML 文件。我想做的是编写一个简短的应用程序来将这些中的每一个转换为本地 Google 文档格式(mime 类型“application/vnd.google-apps.document”)。

我想使用 Java 代码而不是 GAS 代码来做到这一点。

我使用的方法是在驱动器中查询与我要转换的项目相对应的文件对象。然后我将该文件的内容作为字符串提取。然后,我创建了一个 mime 类型的新文件“application/vnd.google-apps.document”并将其与 HTML 内容一起上传。毫不奇怪,它没有奏效。

于是我尝试了一种不同的方法:将内容上传为“text/html”,但将“convert”标志设置为“true”。好吧,我没有看到任何将转换标志设置为 true 的直接 API。所以我尝试了:

File oBody = new File() ;
oBody.setTitle ( sTitle ) ;
oBody.setDescription ( sDescription ) ;
oBody.setMimeType ( sMimeType ) ;
oBody.set("convert", bConvert);

这没有失败。但它也没有创建 Google 文档。它只是创建了一个与原始文件相同的文本文件。

如何上传包含“text/html”内容的文档并让 Google Drive 自动将其转换为 Google 文档?

4

1 回答 1

1

convert标志必须在files.insert请求中而不是File资源中设置。使用files.insert文档中的代码片段作为参考,您应该这样做:

...
File file = service.files().insert(body, mediaContent).setConvert(true).execute();
...
于 2013-02-27T04:56:24.360 回答