(据我所知)似乎没有一个 API 可以编辑 Google 文档(不是电子表格,而是基于 HTML 的文档)。有人做过类似的事情吗?也许通过下载 HTML 版本、编辑并上传更改?

有帮助吗?

解决方案

不是真的知道这是你在找什么,但究竟你采取看看这里的 http://code.google.com/apis/documents/docs/3.0/developers_guide_protocol.html 看起来它允许内容编辑(V3.0反正)。

其他提示

文档列表API 自 2012 年 9 月起已被弃用,看起来可能会 2015年4月后退休.

正如问题所示,使用 Drive API 更新 HTML 版本似乎是唯一的其他方法。我一直在尝试这个,并且遇到了一些问题。

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

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

更新(2019 年 5 月) Google Docs API 正式发布 推出 2019 年 2 月。该文档位于下面我七月份更新的链接中。发布几周后,我制作了一个 高级视频概述 使用 API 的邮件合并应用程序是什么样子的。(这不是一个完整的 G Suite 开发展示 剧集但确实链接到工作示例。)

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

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

简单的例子:如果您现有的文档(驱动器)文件 ID 为 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");
}

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

您可以得到一个谷歌文档的DOCX(例如),用你喜欢的docx编辑器来编辑它,然后再上传。请参见样品了解这样做(从 GoogleDriveDownloadAsDocx )在上下文的docx4j。注意自述

或者做同样与任何其它输出格式。

(2019)谷歌现在提供 API 获取文档,幻灯片,片材,驱动器。

这位一个示例应用程序,博士编辑,在谷歌驱动器的文档。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top