如何使用 apache Camel 从 google Sheets api 检索所有工作表数据

问题描述 投票:0回答:1

我希望能够从 Google Sheets 检索所有工作表(sheet1、sheet2...等)数据,而不仅仅是一张工作表(在本例中为sheet1):

   from("timer:run?repeatCount=1")
      .to("google-sheets://data/get?spreadsheetId=1i8jAVG3r6BINzdU0NzgAIuDUuz3FiVRyFF1Wm6WQq_0&range='Camel Sheet1'")
      .log("${body}")
      .convertBodyTo(String.class)
      .process(new TransformerGoogleSheets())
      .to("file:file/Input?fileName=employee.csv")
      .log("Sucess");

我在 Apache Camel 的网站上搜索但找不到相关解决方案。

java spring-boot google-sheets apache-camel google-sheets-api
1个回答
1
投票

看起来您想使用

getBatch
方法而不是
get
:

from("timer:run?repeatCount=1")
      .to("google-sheets://data/getBatch?spreadsheetId=1i8jAVG3r6BINzdU0NzgAIuDUuz3FiVRyFF1Wm6WQq_0")
      .log("${body}")
      .convertBodyTo(String.class)
      .process(new TransformerGoogleSheets())
      .to("file:file/Input?fileName=employee.csv")
      .log("Sucess");

我还没有使用 google-sheets api,但您可能会得到一个范围列表作为响应。然后,您可以使用

.split(body())
分割主体,然后像现在一样处理每个范围。您应该通过分析您记录的
${body}
来获得响应的结构。

使用

batchGet
方法,您只需指定
spreadsheetId
并且可以省略
range

https://camel.apache.org/components/4.4.x/google-sheets-component.html#_api_data_method_batch获取

© www.soinside.com 2019 - 2024. All rights reserved.