Google apps script 开发人员如何以编程方式编辑Google文档?有docsapi吗?

Google apps script 开发人员如何以编程方式编辑Google文档?有docsapi吗?,google-apps-script,google-api,google-docs,google-api-client,google-docs-api,Google Apps Script,Google Api,Google Docs,Google Api Client,Google Docs Api,据我所知,似乎没有API来编辑谷歌文档(不是电子表格,它们是基于HTML的文档)。有人做过类似的事情吗?也许可以下载HTML版本,编辑并上传更改?不确定这是否就是您要查找的内容,但您是否查看过这里,它似乎允许编辑内容(不管怎样,还是v3.0) 在Google Drive的文档中有一个示例应用程序。自2012年9月以来,该应用程序已被弃用,看起来可能会被弃用 如问题所示,使用驱动API更新HTML版本似乎是唯一的其他方法。我一直在尝试,我经历了一些问题 注释将转换为引用并添加到文档末尾 如果其他人

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

不确定这是否就是您要查找的内容,但您是否查看过这里,它似乎允许编辑内容(不管怎样,还是v3.0)

在Google Drive的文档中有一个示例应用程序。自2012年9月以来,该应用程序已被弃用,看起来可能会被弃用

如问题所示,使用驱动API更新HTML版本似乎是唯一的其他方法。我一直在尝试,我经历了一些问题

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

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

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

    您可以将Google文档作为docx获取(例如),使用您喜爱的docx编辑器编辑它,然后再次上载。请参阅在docx4j上下文中执行此操作(从开始)的详细信息。请注意

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

    更新(2019年5月)谷歌文档API于2019年2月正式发布。该文档位于下面我7月份更新的链接中。发布几周后,我制作了一个关于使用API的邮件合并应用程序的示例。(这不是一个完整的插曲,但确实链接到一个工作示例。)

    更新(2018年7月)谷歌文档团队在2018年谷歌云大会上提前宣布了即将发布的REST API。对新API的早期访问程序感兴趣的开发人员应在注册。下面的原始答案仍然有效,因为RESTAPI将成为通过编程访问Google文档的第二种方式

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

    • 它创建并编辑一个文档,然后使用Gmail发送它 谢谢你
    • 我有4个介绍视频给你(大多是床单口味)
      • 他们在(见视频5、8、22、24)
      • 任何即将发布的视频都将在
    • 官方文件中的有用页面
      • 如何使用应用程序脚本CRUD Google文档
      • 通过创建文档附加组件扩展文档功能
      • 谷歌文档的应用程序脚本(文档服务)
    • 看看其他开发人员已经构建了什么
    简单示例:如果您有一个(驱动器)文件ID为
    DOCUMENT\u ID\u GOES\u HERE
    的现有文档,下面是您基本上如何使用应用程序脚本对其进行编辑,将名称和电子邮件伪“邮件合并”到给定占位符的文档中
    {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");
    }
    

    (2019)谷歌现在提供文档、幻灯片、工作表和硬盘。

    看起来第2版也可以。我只是被“文档列表”这个名字搞糊涂了,它听起来不像是你可以找到编辑的地方,但它似乎就是他们放的地方。