为了账号安全,请及时绑定邮箱和手机立即绑定

如何使用 React 中的 google sheet api 动态获取电子表格中的工作表列表?

如何使用 React 中的 google sheet api 动态获取电子表格中的工作表列表?

茅侃侃 2021-12-12 15:31:52
有没有办法在下面的谷歌工作表中获取所有工作表的列表?见ranges=${sheet}。下面的代码从一张工作表中获取数据,但我想获得一张工作表列表,以便我可以动态调用它们。const API = `https://sheets.googleapis.com/v4/spreadsheets/${sheetID}/values:batchGet?ranges=${sheet}&majorDimension=ROWS&key=${key}`;    useEffect(()=>{        fetch(API).then(response => response.json()).then(data => {            console.log(data)            let rows = data.valueRanges[0].values;          });    }, []);
查看完整描述

1 回答

?
慕码人2483693

TA贡献1860条经验 获得超9个赞

  • 您想使用 API 密钥检索电子表格中的工作表名称。

    • 您已经知道电子表格 ID。

  • 电子表格是公开共享的。

  • 您想使用fetchJavascript来实现这一点。

如果我的理解是正确的,这个答案怎么样?

修改点:

  • 为了检索电子表格中的工作表名称,使用了 Sheets API 中的电子表格电子表格的方法。

脚本 1:

用于在电子表格中检索工作表名称的示例脚本如下。

const endpoint = `https://sheets.googleapis.com/v4/spreadsheets/${sheetID}?key=${key}`;

fetch(endpoint).then(response => response.json()).then(data => {

  const sheetNames = data.sheets.map(sheet => sheet.properties.title);

  console.log(sheetNames)

});

脚本2:

当你的脚本被修改时,下面的修改如何?在这个修改后的脚本中,从电子表格中的所有工作表中检索值。


const endpoint = `https://sheets.googleapis.com/v4/spreadsheets/${sheetID}?key=${key}`;

fetch(endpoint).then(response => response.json()).then(data => {

  data.sheets.forEach(s => {

    const sheetName = s.properties.title;

    const API = `https://sheets.googleapis.com/v4/spreadsheets/${sheetID}/values:batchGet?ranges=${sheetName}&majorDimension=ROWS&key=${key}`;

    fetch(API).then(response => response.json()).then(data => {

      console.log(data)


      let rows = data.valueRanges[0].values;

    });

  });

});

脚本 3:

在此脚本中,仅从电子表格中的第一个工作表中检索值。


fetch(endpoint).then(response => response.json()).then(data => {

  const sheetName = data.sheets[0].properties.title;

  const API = `https://sheets.googleapis.com/v4/spreadsheets/${sheetID}/values:batchGet?ranges=${sheetName}&majorDimension=ROWS&key=${key}`;

  fetch(API).then(response => response.json()).then(data => {

    console.log(data)


    let rows = data.valueRanges[0].values;

  });

});

笔记:

如果要从电子表格中的特定工作表中检索值,请修改上述脚本。


查看完整回答
反对 回复 2021-12-12
  • 1 回答
  • 0 关注
  • 223 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信