- Вы хотите получить имена листов в электронной таблице, используя ключ API.
- Вы уже знаете идентификатор электронной таблицы.
- Электронная таблица является общедоступной.
- Вы хотите добиться этого с помощью
fetch
Javascript.
Если мое понимание правильное, как насчет этого ответа?
Точка модификации:
- Чтобы извлечь имена листов в электронной таблице,используется метод spreadsheets.get в API-интерфейсе Sheets.
Сценарий 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:
В этом сценарии значения извлекаются только с 1-го листа электронной таблицы. .
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;
});
});
Примечание:
- Если вы хотите получить значения из определенного листа в электронной таблице, измените приведенный выше скрипт.
Ссылка:
Если я неправильно понял ваш вопрос и это не то направление, которое вы хотите, я приношу свои извинения.