- Вы хотите получить значения из таблицы Google, используя ключ API.
- Таблица Google является общедоступной.
- Вы хотите добиться этого с помощью google- электронная таблица .
Если мое понимание верно, как насчет этого ответа? Пожалуйста, подумайте об этом как об одном из нескольких возможных ответов.
Проблема и обходное решение:
Когда я увидел исходный скрипт таблицы Google, кажется, что sheet.loadCells()
запросы методом POST с использованием ключа API. Ref К сожалению, ключ API не может использовать метод POST. Так что такая ошибка произошла. Я думаю, что причина этой проблемы связана с этим. Например, когда используется токен доступа от OAuth2 и учетной записи службы, я могу подтвердить, что sheet.loadCells()
работает. В этой ситуации это может быть ошибка или спецификация библиотеки.
К счастью, значения можно получить из общедоступной электронной таблицы Google с помощью ключа API. Таким образом, в качестве одного из нескольких обходных путей в этом ответе googleapis для Node.js используется в качестве простого метода. Это официальная библиотека.
Пример скрипта:
Сначала, пожалуйста, установите googleapis. И, пожалуйста, установите переменные spreadsheetId
и APIKey
.
const { google } = require("googleapis");
const spreadsheetId = "1Bny-ZsCG_oUuS0nTbR-7tBBZu47_ncS9qGYaMpuprWU"; // This is from your script.
const APIKey = "### your API key ###";
const sheets = google.sheets({version: "v4", auth: APIKey});
sheets.spreadsheets.get({ spreadsheetId: spreadsheetId }, (err, res) => {
if (err) {
console.error(err);
return;
}
sheets.spreadsheets.values.batchGet(
{
spreadsheetId: spreadsheetId,
ranges: res.data.sheets.map(e => e.properties.title)
},
(err, res) => {
if (err) {
console.error(err);
return;
}
console.log(JSON.stringify(res.data));
}
);
});
- . При запуске сценария извлекаются все значения из всех листов в общедоступной электронной таблице.
- В приведенном выше примере сценария используются 2 метода spreadsheets.get и spreadsheets.values.batchGet.
Ссылки:
Если я неправильно понял ваш вопрос, и это было не то направление, которое вы хотите, прошу прощения.