简体   繁体   English

如何通过Google V4 Java API获取工作表的列表

[英]How to get list of Sheet's via Google V4 Java API

I'm trying to get a list of sheet names via the google API. 我正在尝试通过Google API获取工作表名称的列表。

I can get cell values, but I can't find out how to get the list of sheets. 我可以获取单元格值,但无法找到如何获取工作表列表。

Here is the code I've tried. 这是我尝试过的代码。

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[]"));

Here is the output 这是输出

__
spreadsheetId    1iV5qliFI8xNhqyLJoOBTQxxxxxxxxxxxxxxxxxx
__
1::1iV5qliFI8xNhqyLJoOBTQxxxxxxxxxxxxxxxxxx
2::null
3::null
4::null
5::null
6::null
7::null

My pom.xml entries 我的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>

Can anyone suggest how I get the list of sheets in the spreadsheet please. 任何人都可以建议我如何获取电子表格中的工作表列表。

It's pretty un-intuitive TBH. 这是非常不直观的TBH。 I had to dig quite a bit in the API to get the hang of it, but with the following you can get the Sheets: 我必须在API中进行大量研究才能掌握其窍门,但是通过以下操作,您可以获取表格:

Sheets service = getSheetsService();
Spreadsheet sp = service.spreadsheets().get(spreadsheetId).execute();
List<Sheet> sheets = sp.getSheets();

So the gist is calling execute() . 因此要点是调用execute()

Afterwards, you can access sheet.getProperties().getTitle() to read the title. 之后,您可以访问sheet.getProperties().getTitle()来阅读标题。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM