我已经检查了各种SO问题,我发现在service()。spreadsheet()。values()上应该有一个append方法,但与其他SO问题不同,该方法对我来说不存在。如何将数据附加到Google电子表格而不是整篇文档?
这是我正在使用的代码,它写入当前文档而不是附加到它。
public static Sheets getSheetsService() throws IOException {
Credential credential = authorize();
return new Sheets.Builder(HTTP_TRANSPORT, JSON_FACTORY, credential)
.setApplicationName(APPLICATION_NAME)
.build();
}
...
public static boolean writeToPersistedGoogleDoc(List<FlightBookingRow> rows) throws IOException {
Sheets service = getSheetsService();
String valueInputOption = "USER_ENTERED";
List<List<Object>> values = new ArrayList<>();
for(FlightBookingRow row: rows){
List<Object> list = new ArrayList<>();
list.add(row.getTimeBooked());
list.add(row.getPaidStatus());
list.add(row.getCostOfTicket());
list.add(row.getFlightPlan());
list.add(row.getNumberOfPeople().toString());
list.add(row.getDepartureDate().toString());
list.add(row.getReturnDate().toString());
list.add(row.getCompanyBookedWith());
values.add(list);
}
ValueRange body = new ValueRange()
.setValues(values);
UpdateValuesResponse result =
service.spreadsheets().values().update(PERSISTED_FLIGHT_SHEET, RANGE, body)
.setValueInputOption(valueInputOption)
.execute();
System.out.printf("%d cells updated.", result.getUpdatedCells());
return true;
}
答案 0 :(得分:0)
我的pom文件中有一个稍微过时的依赖。
我添加了这个,然后我可以访问append方法。
<dependency>
<groupId>com.google.apis</groupId>
<artifactId>google-api-services-sheets</artifactId>
<version>v4-rev494-1.23.0</version>
</dependency>