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