如何从 Google 工作表 v4 API 中获取已排序的单元格数据?

How do I get sorted cell data from the Google sheets v4 API?

在 v3 API 中,我可以这样做:

String listFeedUrl = (new URI(worksheet.getListFeedUrl().toString())).toURL();
ListQuery lq = new ListQuery(listFeedUrl);

lq.setOrderBy("column:name");
lq.setReverse(false);

ListFeed lf = spreadsheetService.query(lq, ListFeed.class);

在 v4 中,我没有看到等效项。获取排序单元格数据的推荐方法是什么?是我唯一的选择吗?一旦它被退回,我就会对它进行分类吗?

看来答案是。参见 here

Order by column is not supported for reads, but it is possible to sort the data in the sheet (using a SortRange) request and then read it

事实上你可以这样做,但想法是在 sheet 上执行一个请求来明确地对列进行排序。我已经设法做到了:

BatchUpdateSpreadsheetRequest busReq = new BatchUpdateSpreadsheetRequest();
SortSpec ss = new SortSpec();
// ordering ASCENDING or DESCENDING
ss.setSortOrder("DESCENDING");
// the column number starting from 0
ss.setDimensionIndex(1);
SortRangeRequest srr = new SortRangeRequest();
srr.setSortSpecs(Arrays.asList(ss));
Request req = new Request();
req.setSortRange(srr);
busReq.setRequests(Arrays.asList(req));
// mService is a instance of com.google.api.services.sheets.v4.Sheets
this.mService.spreadsheets().batchUpdate(spreadsheetId, busReq).execute();