当前位置: 首页 > 知识库问答 >
问题:

Google Sheets API:以原子方式追加单元格并添加开发人员元数据?

柴泰平
2023-03-14

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

在GoogleSheetsV4API中,我知道您可以使用batchUpdate使用appendCells请求追加一行,并且可以使用createDeveloperMetadata请求添加开发人员元数据。

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

有没有一种方法可以将开发人员元数据以原子方式附加到新添加的单元?

共有2个答案

晏鸿畅
2023-03-14

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

>

  • 获取图纸的尺寸

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

    这基本上确保了在批处理更新中,维度索引将针对所有3个操作指向同一行,如果索引超出范围,则所有3个操作都将失败

  • 阮星火
    2023-03-14

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

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

    但是,您可以让Google知道,这是一个对Sheets API很重要的功能,您希望他们实现它。谷歌的问题跟踪是开发人员报告问题并为其开发服务提出功能请求的地方。

    这里是提交GoogleSheetsAPI功能请求的页面。

    • 请求-更新CellsRequest |表单API |谷歌开发者
     类似资料:
    • 我使用Google Sheets API在我的javascript应用程序中显示我的Google电子表格中的数据。已通过引用此留档开发。我可以从电子表格中读取值,但对于某些列,单元格合并如下。 我得到的Json响应如下所示 我的预期输出应该是 有什么帮助吗?

    • 问题内容: 什么是空指针异常(),什么原因导致它们? 可以使用哪些方法/工具确定原因,以阻止异常导致程序过早终止? 问题答案: 声明引用变量(即对象)时,实际上是在创建指向对象的指针。考虑以下代码,您在其中声明基本类型的变量: 在此示例中,变量是an ,Java会为您初始化它。在第二行为其分配值时,您的值将写入所指的存储位置。 但是,当您尝试声明引用 类型时 ,会发生一些不同的事情。采取以下代码:

    • 问题内容: 如何在Swift中的tableView单元中以编程方式嵌入?我就是那样做 问题答案: 这是您可以在单元格上嵌入的方法。 这是切换调用贝克方法 @LeoDabus 。 注意:如果您可能有多个,则应创建一个CustomCell子类并配置您的内部 方法而不是表视图方法。当将可重用的队列释放出队列时,将其投射到您的CustomCell中这是@LeoDabus的示例

    • 我试图在工作表中附加一个单元格,例如单元格1A有一个边框并填充了灰色,我想插入一个字符串“你好”,但使用 销毁单元格格式,或者更确切地说,使单元格格式处于默认模式。我知道如何使用 方法,但在我的项目中,我用不同的单元格格式插入了许多不同的数据。我在谷歌上搜索了一下,没找到答案。还有别的办法解决我的问题吗? 来阐述我的问题。在1A中的工作表中,我有一个单元格格式单元格格式(用灰色填充,并有细边框)

    • 编辑:使用工作,不知道它是如何工作的

    • 在我的Android应用程序,我想追加一行(与新的食品订单信息)到谷歌表格的顶部。从https://developers.google.com/sheets/api/reference/rest/v4/spreadsheets.values/append留档听起来我只能追加到表的底部。但是我真的需要从顶部追加新行,我怀疑这是不可能的。 我能够使用以下代码将行追加到底部: 是否可以将该行附加到表的顶