需要使用Java将html转换为谷歌文档的原生格式



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

我在谷歌硬盘上有一系列以前上传的小HTML文件。我想做的是编写一个简短的应用程序,将每个应用程序转换为原生谷歌文档格式(mime类型为"application/vnd.Google-apps.Document"(。

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

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

因此,我尝试了一种不同的方法:将内容上传为"text/html",但将"convert"标志设置为"true"。我没有看到任何直接的API将convert标志设置为true。所以我尝试了:

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

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

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

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

...
File file = service.files().insert(body, mediaContent).setConvert(true).execute();
...

最新更新