我想按照指定的标准从我的Google表格中获得1行。在这种情况下,这是单元格的字符串值。我发现可以为此使用FilterView,但无法添加它。
这就是我现在拥有的
private static void getFilteredView(String searchValue) throws IOException {
Map<String, FilterCriteria> stringCriteriaMap = new TreeMap<>();
FilterCriteria filterCriteria = new FilterCriteria();
filterCriteria.setCondition(new BooleanCondition()
.setType("TEXT_EQ")
.setValues(Collections.singletonList(
new ConditionValue().setUserEnteredValue(searchValue)
))
);
stringCriteriaMap.put("Text equals", filterCriteria);
FilterView filterView = new FilterView().setCriteria(stringCriteriaMap);
Request r = new Request();
r.getAddFilterView().setFilter(filterView);
AddFilterViewRequest body = new AddFilterViewRequest().setFilter(filterView);
Sheets.Spreadsheets.Values.BatchUpdate request = getSheetService().spreadsheets().values()
.batchUpdate(spreadsheetId, body).execute();
}
问题是,这里
.batchUpdate(spreadsheetId, body).execute();
它不允许我将参数(body)传递给方法,它说:
batchUpdate (String, com.google.api.services.sheets.v4.model.BatchUpdateValuesRequest)
in Values cannot be applied to (String, com.google.api.services.sheets.v4.model.AddFilterViewRequest)
不幸的是,API附带了Python上的示例,我不知道该如何解决。 以下是API的示例:https://developers.google.com/sheets/api/guides/filters