【问题标题】:Google Sheets API: Append cells and add developer metadata atomically?Google Sheets API:附加单元格并自动添加开发人员元数据?
【发布时间】:2021-01-10 20:42:48
【问题描述】:

我想将一行单元格附加到谷歌表格,并将一些开发人员元数据附加到该行。

在 Google Sheets v4 API 中,我知道您可以使用 batchUpdateappendCells 请求中追加一行,并且您可以使用 createDeveloperMetadata 请求添加开发者元数据。

我的问题是我想以原子方式将一些开发人员元数据专门设置为新附加的单元格。没有办法专门确保createDeveloperMetadata 中新添加行的范围,如果我使用两个不同的请求,其他人可能会在这些请求之间插入一行,这可能会移动所有行,导致附加单元格的范围为指向错误的行。

有没有办法将开发人员元数据原子地附加到新添加的单元格?

【问题讨论】:

  • 从您的问题来看,我无法理解您当前的问题和目标。我为此道歉。为了正确理解它们,我可以问你它们的细节吗?另外,你能提供你当前的脚本吗?

标签: google-sheets google-api google-sheets-api


【解决方案1】:

答案:

目前没有办法确保工作表结构在请求之间没有改变。

更多信息:

我认为,您最好的选择是在同一批次中发出两个连续的请求。虽然这不是万无一失的,但在非常不幸的情况下。即使直接使用 UpdateCellsRequest 插入行也不是万无一失的,因为仅仅知道您插入了哪一行数据并不能排除其他人可能会在两个请求之间插入/删除之前的一行。

功能要求:

但是,您可以让 Google 知道这是一项对 Sheets API 很重要的功能,并且您希望请求他们实施该功能。 Google 的 Issue Tracker 是开发人员报告问题并为其开发服务提出功能请求的地方。

为 Google Sheets API 提交功能请求的页面是here

参考资料:

【讨论】:

    【解决方案2】:

    我想出的解决方案基本上是:

    • 获取工作表的尺寸

    • 使用insertDimensionupdateCellscreateDeveloperMetadata 执行批量更新,所有这些都针对工作表末尾的相同工作表维度索引执行

    这基本上保证了批量更新中所有3个操作的维度索引都指向同一行,如果索引指向越界,则所有3个操作都会失败

    【讨论】:

      猜你喜欢
      • 2018-05-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-12
      • 1970-01-01
      • 1970-01-01
      • 2017-09-25
      • 1970-01-01
      相关资源
      最近更新 更多