【问题标题】:How to specify exact sheet on Google Sheets API node.js batchUpdate request如何在 Google Sheets API node.js batchUpdate 请求中指定准确的工作表
【发布时间】:2020-06-23 14:49:39
【问题描述】:

我想在第二张表的所有数据上方添加一个空行,但不明白如何指定确切的表。现在空行添加到第一张表。

const request = {
    spreadsheetId: 'spreadsheetId',

    resource: {
      requests:[
        {
          insertRange: {
            range: {
              startRowIndex: 0,
              endRowIndex: 1
            },
            shiftDimension: 'ROWS'
          }
        }
    ]
  },
};

 try{
  const response = await sheets.spreadsheets.batchUpdate(request);
}catch(err){ console.log(err)}

【问题讨论】:

    标签: javascript node.js google-sheets-api


    【解决方案1】:

    这个答案怎么样?

    修改点:

    • 在这个答案中,首先使用get方法从第二张sheet中检索sheet ID,然后使用检索到的sheet ID请求batchUpdate方法。

    当这一点反映到你的脚本中时,它变成如下。

    修改脚本:

    const res = (await sheets.spreadsheets.get({spreadsheetId: spreadsheetId, fields: "sheets(properties(sheetId))"})).data;  // Added
    const sheetIdOf2ndSheet = res.sheets[1].properties.sheetId;  // Added
    
    const request = {
      spreadsheetId: 'spreadsheetId',
      resource: {
        requests: [
          {
            insertRange: {
              range: {
                sheetId: sheetIdOf2ndSheet,  // Added
                startRowIndex: 0,
                endRowIndex: 1,
              },
              shiftDimension: "ROWS",
            },
          },
        ],
      },
    };
    
    try {
      const response = await sheets.spreadsheets.batchUpdate(request);
    } catch (err) {
      console.log(err);
    }
    

    注意:

    • 当然,当你想从工作表名称中搜索工作表ID时,也可以实现。

    参考:

    【讨论】:

    • @NeoN 感谢您的回复。很高兴您的问题得到解决。
    猜你喜欢
    • 2021-05-15
    • 2018-08-16
    • 1970-01-01
    • 1970-01-01
    • 2017-06-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多