Google Sheet API 值批量更新,正文中范围数量的限制

jas*_*son 5 google-apps-script google-sheets-api

https://developers.google.com/sheets/api/reference/rest/v4/spreadsheets.values/batchUpdate

这里的文档没有说明一次调用可以一次更新主体中的多少个范围。有人测试过极限吗?

现在我的代码可以一次更新不多的单元格。我想看看是否应该更改代码以立即完成所有操作。但如果有限制的话我不想花时间重写代码。

它可以处理 1000 个不同的范围吗?我的范围之间不连续。

Tan*_*ike 5

关于您的以下问题,

它可以处理 1000 个不同的范围吗?

我认为是的。作为测试此功能的简单示例脚本,我想介绍以下 Google Apps 脚本。

示例脚本:

这是 Google Apps 脚本。因此,当您对此进行测试时,请将以下脚本复制并粘贴到 Google Apps 脚本的脚本编辑器中。在使用此功能之前,请在高级 Google 服务中启用 Sheets API

function myFunction() {
  const spreadsheetId = "###"; // Please set the Spreadsheet ID.
  const max = 1000;
  const data = [];
  for (let i = 0; i < max; i++) {
    data.push({range: `Sheet1!A${i + 1}`, values: [[`A${i + 1}`]]});
  }
  Sheets.Spreadsheets.Values.batchUpdate({data: data, valueInputOption: "USER_ENTERED"}, spreadsheetId);
}
Run Code Online (Sandbox Code Playgroud)
  • 在此脚本中,使用“spreadsheets.values.batchUpdate”方法将值放入“Sheet1”。

笔记:

  • 不幸的是,我无法直接确认 的最大长度data。但是,在我的测试中,我可以确认当masis时100000,不会发生错误,并且脚本有效。
  • 但是当您使用 进行测试时const max = 100000,当工作表没有 100,000 行时,就会出现错误。首先,请将行添加到 100,000 行。请小心这一点。

参考: