【发布时间】:2019-03-03 14:39:42
【问题描述】:
我需要定期清除多个工作表中的数据并用数据重新填充它们(通过 Google Sheets API v4)。为此,我为每张纸执行 2 个单独的请求(1 个清除和 1 个更新)。当用户坐在那里等待它时,这是一个缓慢的过程。在我看来,每个新请求都会显着增加完成时间。如果我可以将所有这些包装到一个批处理命令请求中,那可能会有很大帮助。
我目前正在为每张纸执行此操作...
service.spreadsheets()
.values()
.clear(idSpreadsheet, sheetTitle + "!$A$1:$Y", new ClearValuesRequest())
.execute();
service.spreadsheets()
.values()
.update(idSpreadsheet, range, new ValueRange().setValues(values))
.setValueInputOption("USER_ENTERED")
.execute();
我看不到将一堆通用命令包装到单个批处理请求中的方法。我看到DeleteDimensionRequest 和AppendCellsRequest 可以打包成一个批次,但我真的找不到一个好的AppendCellsRequest 示例(而且似乎人们还是推荐我目前的values().update() 方法)。
谁能推荐一个简化这个的好方法?还是我已经以最好的方式做到了?
【问题讨论】:
-
使用 Google API 资源管理器确定单个
batchUpdate调用所需的请求组合以执行您想要的操作,然后使用 Java 客户端库方法重现所需的参数。
标签: java google-sheets-api google-api-java-client