【发布时间】:2019-07-31 11:26:10
【问题描述】:
我在列 A (ID) 中为每一行提供了一个 ID。
现在我想更新一行,其中 A 列的 ID 等于我的代码中的 ID。
在旧的 v3 版本 (+ a wrapper) 中,我可以使用此代码轻松搜索行并 row.save() 它:
var row = await promisify(sheet.getRows)({
offset: 1,
query: 'id = ' + user.id
});
但我在 v4 中找不到类似的东西。我发现的唯一问题是this Answere from 2017 可以解决此问题,但这意味着我需要编写一个单元格,读取该单元格的值,删除该单元格,然后使用该单元格中的值读取我真正想要的行然后用更新的数据覆盖该行。
目前有更简单的方法吗?
【问题讨论】:
-
我无法理解
(+ a wrapper)。你能提供更多关于你的脚本的信息吗? -
感谢您的回复。不幸的是,即使使用 Sheets API v4,也无法通过一次 API 调用来完成值的搜索和放置。检索和放置值至少需要 2 次 API 调用。对于这种情况,我深表歉意。
-
感谢您的快速回复。在你的情况下,这个流程怎么样? 1. 使用电子表格.values.get 和电子表格.values.batchGet 检索值。这里使用一个 API。 2. 使用脚本从检索到的值中检索所需的值和索引。 3. 将带有电子表格.values.update 和电子表格.values.batchUpdate 的值作为更新。这里使用一个 API。您可以通过 Node.js 的 googleapis 使用 Sheets API。通过这个,我认为你的目标可以实现。如果您需要示例脚本,请随时告诉我们。
-
我认为您的回复是正确的。
-
我觉得剧本不错。我很高兴你的问题得到了解决。所以我想赞成它。如果您的问题已解决,请接受。这对有同样问题的其他用户很有用。
标签: node.js google-sheets google-sheets-api