public BatchGetValuesResponse batchGetValues(String spreadsheetId, List<String> _ranges) throws IOException { Sheets service = this.service; // [START sheets_batch_get_values] List<String> ranges = Arrays.asList( //Range names ... ); // [START_EXCLUDE silent] ranges = _ranges; // [END_EXCLUDE] BatchGetValuesResponse result = service.spreadsheets().values().batchGet(spreadsheetId) .setRanges(ranges).execute(); System.out.printf("%d ranges retrieved.", result.getValueRanges().size()); // [END sheets_batch_get_values] return result; } public UpdateValuesResponse updateValues(String spreadsheetId, String range,
@Test public void testBatchGetValues() throws IOException { String spreadsheetId = this.createTestSpreadsheet(); this.populateValuesWithStrings(spreadsheetId); List<String> ranges = Arrays.asList("A1:A3", "B1:C1"); BatchGetValuesResponse result = this.snippets.batchGetValues(spreadsheetId, ranges); List<ValueRange> valueRanges = result.getValueRanges(); assertEquals(2, valueRanges.size()); List<List<Object>> values = valueRanges.get(0).getValues(); assertEquals(3, values.size()); }
@Override protected int poll() throws Exception { Queue<Exchange> answer = new ArrayDeque<>(); if (ObjectHelper.isNotEmpty(getConfiguration().getRange())) { Sheets.Spreadsheets.Values.BatchGet request = getClient().spreadsheets().values().batchGet(getConfiguration().getSpreadsheetId()); request.setMajorDimension(getConfiguration().getMajorDimension()); request.setValueRenderOption(getConfiguration().getValueRenderOption()); if (getConfiguration().getRange().contains(",")) { request.setRanges(Arrays.stream(getConfiguration().getRange().split(",")) .map(String::trim) .collect(Collectors.toList())); } else { request.setRanges(Collections.singletonList(getConfiguration().getRange())); } BatchGetValuesResponse response = request.execute(); if (response.getValueRanges() != null) { response.getValueRanges() .stream() .limit(getConfiguration().getMaxResults()) .map(valueRange -> getEndpoint().createExchange(valueRange)) .forEach(answer::add); } } else { Sheets.Spreadsheets.Get request = getClient().spreadsheets().get(getConfiguration().getSpreadsheetId()); request.setIncludeGridData(getConfiguration().isIncludeGridData()); Spreadsheet spreadsheet = request.execute(); answer.add(getEndpoint().createExchange(spreadsheet)); } return processBatch(CastUtils.cast(answer)); }