用于在 Google 文档中读取、编辑和设置内容格式的脚本,具有其他功能。
通过高级 Docs 服务,您可以在 Google Apps 脚本中使用 Google Docs API。与 Apps 脚本的内置 Google 文档服务类似,此 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);