将 Google Docs/Drive API 与 Node 结合使用,我成功创建了一个服务,该服务生成“模板”样式文档,其中包含 namedRanges 供其他用户写入。我想使用 Google Docs API 来读取在这些范围内输入的文本,但看不到一种干净的方法。鉴于我有每个范围的开始和结束索引,我认为这将非常简单!不幸的是,我看不到任何内置的方法?
目前看起来我将不得不请求整个谷歌文档,并且对于我正在观看的每个范围,比较每个节点的开始/结束索引并递归遍历树直到它们匹配。没有更好的方法来做到这一点吗?
干杯
编辑:
下面 Tanaike 的解决方案更简洁,但我已经有一个版本可以在我的 Firebase 函数上运行,所以我想我不妨分享一下。此代码检索具有给定 ID 的 Google 文档,并将 namedRanges 的内容作为字符串存储在 Firebase 实时数据库中,通过“BBCode”样式标签保持图像和表格完整无缺。下面的相关代码(请注意,我知道每个 namedRange 都在表格单元格内,这使得查找它们更容易):
async function StoreResponses(oauth2Client, numSections, documentId, meetingId, revisionId, roomId)
{
var gdocsApi = google.docs({version: 'v1', auth: oauth2Client});
return gdocsApi.documents.get({ "documentId": documentId })
.then((document) => {
var ranges = document.data.namedRanges;
var docContent = document.data.body.content;
var toStore = [];
for(var i = 0; i < numSections; i++)
{
var range = ranges[`zoomsense_section_${i}`].namedRanges[0].ranges[0] …Run Code Online (Sandbox Code Playgroud)