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