8

使用 Google Sheets REST API V4,并且更愿意使用工作表 ID 而不是工作表标题来查找单元格中的值。似乎您可以使用范围指定电子表格中的工作表,例如Sheet4!A1:Z500,但不能指定工作表 ID,例如1310487470!A1:Z500. 这样一来,如果有人重命名工作表,查询就不必更改。Google API 是否支持按 ID 查询?

当前查询:

https://sheets.googleapis.com/v4/spreadsheets/1SR0DJ4nV5-05EWxjz1OYOWkKFObClmsC0rOowPnMwNE/values/Sheet4!A1:Z500

理想查询:

https://sheets.googleapis.com/v4/spreadsheets/1SR0DJ4nV5-05EWxjz1OYOWkKFObClmsC0rOowPnMwNE/values/1310487470!A1:Z500

4

1 回答 1

7

下面的样品怎么样?我将其准备为 GAS 样品。如果您使用它,请在 API 控制台启用 Sheet API v4。

这使用 GID 检索电子表格中的工作表数据。

  1. 检索电子表格中工作表的信息。创建具有 GID 键和工作表名称值的 JSON 数据。

  2. 使用 JSON 从工作表中检索数据。

示例脚本:

function fetch(url){
  return UrlFetchApp.fetch(url, {
    headers: {
      'Authorization': 'Bearer ' +  ScriptApp.getOAuthToken()
    }
  });
}

function main(){
  // Retrieves information of sheets in spreadsheet. 
  var spreadsheet = "#####";
  var url = "https://sheets.googleapis.com/v4/spreadsheets/" + spreadsheet + "?fields=sheets(properties(sheetId%2Ctitle))";
  var sheetdic = {};
  JSON.parse(fetch(url)).sheets.forEach(function(e){
    sheetdic[e.properties.sheetId] = e.properties.title;
  });

  // Retrieves data from sheet using GID.
  var sheet = sheetdic["#####"]; // Imports sheet name using GID.
  var url = "https://sheets.googleapis.com/v4/spreadsheets/" + spreadsheet + "/values/" + sheet + "!A1:Z500";
  var results = fetch(url);
}
于 2017-05-07T22:53:17.187 回答