Я думаю, что в вашей текущей ситуации вы используете метод spreadsheets.values.get API Sheets.Если вы хотите получить все значения со всех листов, например, как насчет следующих 2 шаблонов?
Шаблон 1:
В этом шаблоне он использует метод spreadsheets.get API Sheets.В этом случае все значения могут быть получены с помощью следующей конечной точки.
Конечная точка:
https://sheets.googleapis.com/v4/spreadsheets/### spreadsheetId ###?fields=sheets%2Fdata%2FrowData%2Fvalues%2FuserEnteredValue&key={YOUR_API_KEY}
- Поля
sheets/data/rowData/values/userEnteredValue
используются для получения значений.
Pattern2:
В этом шаблоне он использует метод spreadsheets.values.batchGet API-интерфейса Sheets.В этом случае вам необходимо знать имя каждого листа, поскольку в этом методе используется имя листа.
Конечная точка:
https://sheets.googleapis.com/v4/spreadsheets/### spreadsheetId ###/values:batchGet?ranges=Sheet1&ranges=Sheet2&key={YOUR_API_KEY}
- В качестве параметра запроса укажите его как
ranges=Sheet1&ranges=Sheet2&...
.
Примечание:
- В своем скрипте вы используете ключ API.В этом случае электронная таблица должна быть общедоступной.
Ссылки:
Если я неправильно понял ваш вопрос, я прошу прощения.
Редактировать:
- Вы выбрали шаблон 2.
- Вы хотите создать параметры запроса путем извлечения всех имен листов в электронной таблице.
Если я правильно понял, как насчет получения имени листа с помощью метода spreadsheets.get SheetsAPI.Конечная точка -
https://sheets.googleapis.com/v4/spreadsheets/### spreadsheetId ###?fields=sheets%2Fproperties%2Ftitle&key={YOUR_API_KEY}
. В этом случае sheets/properties/title
используется как fields
.Таким образом, все имена листов могут быть получены.Когда это отражается на вашем скрипте, как насчет этой модификации?Я думаю, что это простая модификация.Поэтому, пожалуйста, измените это в вашей ситуации.И я думаю, что есть несколько решений для вашей ситуации.Поэтому, пожалуйста, подумайте об этом как об одном из них.
Модифицированный скрипт:
$.ajax({
type: 'get',
url: 'https://sheets.googleapis.com/v4/spreadsheets/### spreadsheetId ###?fields=sheets%2Fproperties%2Ftitle&key={API_KEY}',
async: false,
success: function(response) {
const queryParams = response.sheets.reduce((s, e, i) => s += "ranges=" + e.properties.title + (i < response.sheets.length - 1? "&" : ""), "");
$.ajax({
type: 'get',
url: 'https://sheets.googleapis.com/v4/spreadsheets/### spreadsheetId ###/values:batchGet?key={API_KEY}&' + queryParams,
async: false,
success: function(r) {
console.log(r)
}
});
}
});