【问题标题】:Need to convert html to google doc native format using Java需要使用 Java 将 html 转换为 google doc 原生格式
【发布时间】:2013-02-12 09:48:35
【问题描述】:

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

我在 Google 云端硬盘中有一系列以前上传的小 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 文档?

【问题讨论】:

    标签: google-drive-api


    【解决方案1】:

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

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

    【讨论】:

    • 优秀。我会试试的。谢谢。
    • 你让我成为了一个快乐的人!效果很好!谢谢谢谢。
    • 我尝试了相同的文件更新,但在网络(谷歌驱动器)中查看时内容似乎已损坏。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-13
    • 1970-01-01
    • 2015-12-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多