通过高级文档服务,您可以在 Apps 脚本中使用 Google Docs API。与 Apps 脚本的内置文档服务非常相似,此 API 允许脚本读取、修改和设置 Google 文档中的内容格式。在大多数情况下,内置服务更易于使用,但此高级服务提供了一些额外的功能。
参考
如需详细了解此服务,请参阅 Google 文档 API 的参考文档。与 Apps 脚本中的所有高级服务一样,高级 Docs 服务使用的对象、方法和参数均与公共 API 相同。如需了解详情,请参阅方法签名是如何确定的。
如需报告问题并寻求其他支持,请参阅 Docs API 支持指南。
示例代码
以下示例代码使用 API 的版本 1。
创建文档
此示例会创建一个新文档。
查找和替换文本
此示例用于查找和替换文档中所有标签页中的成对文本。当您要将模板文档副本中的占位符替换为数据库中的值时,此方法会很有用。
插入文字和设置文字样式
此示例在文档中第一个标签页的开头插入新文本,并使用特定字体和大小设置其样式。请注意,为了提高效率,您应尽可能将多个操作批量处理到单个 batchUpdate
调用中。
朗读第一段
此示例会记录文档中第一个标签页的第一个段落的文本。由于 Docs API 中段落的结构化特性,这需要合并多个子元素的文本。
最佳做法
批量更新
使用高级 Docs 服务时,请将多个请求合并到一个数组中,而不是在循环中调用 batchUpdate
。
不要 - 在循环中调用 batchUpdate
。
var textToReplace = ['foo', 'bar'];
for (var i = 0; i < textToReplace.length; i++) {
Docs.Documents.batchUpdate({
requests: [{
replaceAllText: ...
}]
}, docId);
}
执行 - 使用更新数组调用 batchUpdate
。
var requests = [];
var textToReplace = ['foo', 'bar'];
for (var i = 0; i < textToReplace.length; i++) {
requests.push({ replaceAllText: ... });
}
Docs.Documents.batchUpdate({
requests: requests
}, docId);