Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/445.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用nodejs和googlesheetsapiv4从工作表名称中查找googlesheetid_Javascript_Node.js_Google Sheets Api - Fatal编程技术网

Javascript 使用nodejs和googlesheetsapiv4从工作表名称中查找googlesheetid

Javascript 使用nodejs和googlesheetsapiv4从工作表名称中查找googlesheetid,javascript,node.js,google-sheets-api,Javascript,Node.js,Google Sheets Api,我想使用nodejs和google Sheets v4 API从工作表名称中查找google工作表id(如…/edit#gid=“sheet_id”查询参数)。如果我理解正确,下面的代码应该可以工作,但是响应根本不包含任何“sheetid”。知道我错过了什么吗 const request = { spreadsheetId: GS_ID, ranges: [sheetName], includeGridData: false }; let res = await GS.s

我想使用nodejs和google Sheets v4 API从工作表名称中查找google工作表id(如…/edit#gid=“sheet_id”查询参数)。如果我理解正确,下面的代码应该可以工作,但是响应根本不包含任何“sheetid”。知道我错过了什么吗

const request = {
    spreadsheetId: GS_ID,
    ranges: [sheetName],
    includeGridData: false
};
let res = await GS.spreadsheets.get(request);

console.log(res.data.properties.sheetId);
我只得到这些数据,所以图纸属性似乎丢失了

{ spreadsheetId: '###',
  properties:
   { title: '###',
     locale: 'en_US',
     autoRecalc: 'ON_CHANGE',
     timeZone: 'Asia/Tokyo',
     defaultFormat: {...},
  sheets: [ { properties: [Object] } ],
  spreadsheetUrl: 'https://docs.google.com/spreadsheets/d/###/edit' }
说明:
ranges
参数需要采用A1表示法才能从响应中检索工作表信息。要检索图纸信息,请遍历图纸数组并从特定图纸名称获取图纸ID:

示例:

const rangeName = 'A1:B1';
const sheetName = 'Sheet1';
const GS_ID = <insert spreadsheet ID here>;
const request = {
    spreadsheetId: GS_ID,
    ranges: rangeName,
    includeGridData: false
};
let res = await GS.spreadsheets.get(request);

for (i = 0; i < res.sheets.length; i++) {
  if (res.sheets[i].title === sheetName) {
    console.log(res.sheets[i].sheetId); // get sheet ID here
  }
}
const rangeName='A1:B1';
常量sheetName='Sheet1';
常数GS_ID=;
常量请求={
电子表格ID:GS_ID,
范围:rangeName,
includeGridData:false
};
let res=等待GS.电子表格.get(请求);
对于(i=0;i
参考文献:

const rangeName = 'A1:B1';
const sheetName = 'Sheet1';
const GS_ID = <insert spreadsheet ID here>;
const request = {
    spreadsheetId: GS_ID,
    ranges: rangeName,
    includeGridData: false
};
let res = await GS.spreadsheets.get(request);

for (i = 0; i < res.sheets.length; i++) {
  if (res.sheets[i].title === sheetName) {
    console.log(res.sheets[i].sheetId); // get sheet ID here
  }
}


嗨,Jacob,像res.data.getSheets()这样的东西会返回一个可以过滤的数组吗?谢谢你的回答和解释,奇怪的是,我在响应“sheets:[[object]]中仍然只得到一个空的sheets对象