14

(据我所知)似乎没有用于编辑 Google Docs 的 API(不是电子表格,它们基于 HTML 的文档)。有没有人做过类似的事情?也许通过下载 HTML 版本、编辑和上传更改?

4

6 回答 6

9

更新(2019 年 5 月) Google Docs API 于 2019 年 2 月正式启动。文档位于我在下面 7 月更新的链接中。发布几周后,我制作了一个高级视频概述,介绍了使用 API 的邮件合并应用程序的外观。(这不是完整的G Suite Dev Show剧集,但确实链接到工作示例。)

更新(2018 年 7 月) Google Docs 团队在 Google Cloud NEXT '18 上预先宣布了即将推出的 REST API。有兴趣加入新 API 早期访问计划的开发人员应在https://developers.google.com/docs注册。下面的原始答案仍然存在,因为 REST API 将成为您以编程方式访问 Google Docs的第二种方式。

原始答案(2017 年 3 月):(大多数其他答案都已过时。)Google Docs 目前没有 REST API,但是开发人员可以使用Google Apps Script以编程方式访问(CRUD)文档,这是托管并运行的服务器端 JavaScript 应用程序在谷歌的云端。如果您不熟悉 Apps 脚本或使用它编辑 Google 文档,这里有一些学习资源:

简单示例:如果您有一个(驱动器)文件 ID 为 的现有 Doc,DOCUMENT_ID_GOES_HERE则基本上是使用 Apps 脚本编辑它的方法,将名称和电子邮件的伪“邮件合并”到给定占位符{NAME}和的文档中{ADDR}

function mergeNameEmail() {
    // Open a document by ID
    var doc = DocumentApp.openById(DOCUMENT_ID_GOES_HERE);

    // Access the body of the document
    var body = doc.getBody();

    // Merge name & address from template
    body.replaceText("{NAME}", "Ima Developer");
    body.replaceText("{ADDR}", "123 Main St, Anytown, XX 00000");
}
于 2017-03-01T03:10:40.943 回答
4

Document List API自 2012年9 月以来已被弃用,看起来它可能会在 2015 年 4 月之后停用。

正如问题所暗示的那样,使用 Drive API 更新 HTML 版本似乎是唯一的另一种方式。我一直在尝试这个,我遇到了一些问题。

  1. 评论被转换为引文并添加到文档末尾。
  2. 如果其他人正在通过浏览器编辑文档,那么他们在 API 读取和更新时间之间所做的任何更改都会丢失。
  3. 对文档的更新可能会破坏格式。例如,我多次更新了一个文档,并且某些元素(h1、h2 等)之间的垂直间距每次都不断扩大并破坏了文档。
  4. 当 API 更新发生时,文档中任何人的光标都会移动到页面顶部。

可能还有更多问题。这些只是我最近几天发现的。

于 2014-09-02T16:17:44.780 回答
3

不确定这是否是您正在寻找的确切内容,但您是否看过这里http://code.google.com/apis/documents/docs/3.0/developers_guide_protocol.html看起来它允许编辑内容( v3.0 无论如何)。

于 2010-03-13T15:14:52.127 回答
1

有 com.google.api.services.drive.model.File.getExportLinks

您可以将 Google Doc 作为 docx 获取(例如),使用您喜欢的 docx 编辑器对其进行编辑,然后再次上传。请参阅docx4j 上下文中的示例(从GoogleDriveDownloadAsDocx开始)。注意自述文件

或者对任何其他导出格式执行相同操作。

于 2014-09-03T11:35:31.370 回答
1

(2019) Google 现在为文档、幻灯片、表格、驱动器提供API 。

于 2019-05-12T12:37:35.833 回答
0

在 Google Drive 的文档中有一个示例应用程序,Dr. Edit 。

于 2012-11-17T14:46:24.480 回答