【发布时间】:2020-08-10 15:01:59
【问题描述】:
我的 Java 代码在检索数据并将数据更新到我的 Google 表格电子表格时运行良好。
我正在尝试在更新后对数据进行排序,并收到 500 内部服务器错误,我想知道我发送的错误是什么。我正在尝试升序排序范围“E1:I1000”
这是我的代码:
Sheets sheetsService = GoogleAuthorizeUtil.getSheetsService("worktest");
BatchUpdateSpreadsheetRequest busReq = new BatchUpdateSpreadsheetRequest();
SortRangeRequest srr = new SortRangeRequest();
GridRange gr = new GridRange();
SortSpec ss = new SortSpec();
Request req = new Request();
gr.setSheetId(0);
gr.setStartRowIndex(1);
gr.setEndRowIndex(1000);
gr.setStartColumnIndex(5);
gr.setEndColumnIndex(10);
srr.setRange(gr);
ss.setSortOrder("ASCENDING");
ss.setDimensionIndex(1);
srr.setSortSpecs(Arrays.asList(ss));
req.setSortRange(srr);
busReq.setRequests(Arrays.asList(req));
sheetsService.spreadsheets().batchUpdate(googleID, busReq).execute();
我尝试排序的方式有什么问题吗?
【问题讨论】:
-
澄清一下,在提供的代码中,如果您注释掉
ss.setSortOrder和ss.setDimensionIndex,它可以正常工作吗?你可以在这里查看教程:developers.google.com/sheets/api/guides/filters. -
我确实注释掉了 ss 部分,它还在继续,但看起来并没有对我的数据进行排序。
-
你有基于零索引的列吗?我相信一切都应该从零开始。至少,维度索引 = 1 根据指南引用数据的第二列。
-
是的,我已经仔细检查过,它们都是从零开始的。我已合并 A 列中的行,但已将其删除,但仍然出现 500 错误。我的维度是正确的,因为在这种情况下,我确实想在我的范围的第二列进行排序。谢谢!
标签: java api google-sheets google-sheets-api