Estoy tratando de obtener una lista de nombres de hojas a través de la API de Google.
Puedo obtener valores de celda, pero no puedo averiguar cómo obtener la lista de hojas.
Aquí está el código que he probado.
Credential credential = authorize(); Sheets service = new Sheets.Builder(HTTP_TRANSPORT, JSON_FACTORY, credential).setApplicationName(APPLICATION_NAME).build(); System.out.println("__"); Set<Entry<String, Object>> entrySet = service.spreadsheets().get(spreadsheetId).entrySet(); for (Entry<String, Object> entry : entrySet) { System.out.println(entry.getKey() +" " + entry.getValue()); } System.out.println("__"); System.out.println("1::" + service.spreadsheets().get(spreadsheetId).get("spreadsheetId")); System.out.println("2::" + service.spreadsheets().get(spreadsheetId).get(spreadsheetId)); System.out.println("3::" + service.spreadsheets().get(spreadsheetId).get("sheet")); System.out.println("4::" + service.spreadsheets().get(spreadsheetId).get("accesToken")); System.out.println("5::" + service.spreadsheets().get(spreadsheetId).get("properties")); System.out.println("6::" + service.spreadsheets().get(spreadsheetId).get("sheets")); System.out.println("7::" + service.spreadsheets().get(spreadsheetId).get("sheets[]"));Aquí está la salida
__ spreadsheetId 1iV5qliFI8xNhqyLJoOBTQxxxxxxxxxxxxxxxxxx __ 1::1iV5qliFI8xNhqyLJoOBTQxxxxxxxxxxxxxxxxxx 2::null 3::null 4::null 5::null 6::null 7::nullMis entradas pom.xml
<dependency> <groupId>com.google.api-client</groupId> <artifactId>google-api-client</artifactId> <version>1.22.0</version> </dependency> <dependency> <groupId>com.google.oauth-client</groupId> <artifactId>google-oauth-client-jetty</artifactId> <version>1.22.0</version> </dependency> <dependency> <groupId>com.google.apis</groupId> <artifactId>google-api-services-sheets</artifactId> <version>v4-rev471-1.22.0</version> </dependency>¿Alguien puede sugerir cómo obtengo la lista de hojas en la hoja de cálculo, por favor?
Es bastante poco intuitivo TBH. Tuve que indagar bastante en la API para entenderlo, pero con lo siguiente puedes obtener las Hojas:
Sheets service = getSheetsService(); Spreadsheet sp = service.spreadsheets().get(spreadsheetId).execute(); List<Sheet> sheets = sp.getSheets(); Entonces, la esencia es llamar a execute() .
Luego, puede acceder a sheet.getProperties().getTitle() para leer el título.