Шаг 1 (выполнено):
В соответствии с инструкциями я выполнил каждый шаг в Google Node.js Quickstart: https://developers.google.com/sheets/api/quickstart/nodejs, и он работал без ошибок.Насколько я понимаю, после запуска index.js создается токен.json.После этого я могу каким-то образом использовать token.json для любых целей аутентификации без необходимости каждый раз использовать credentials.json.Пожалуйста, поправьте меня, если я ошибаюсь в этом предположении.Я делаю это предположение только на основании того, что Google говорит в ранее приведенной ссылке: «Информация об авторизации хранится в файловой системе, поэтому последующие выполнения не будут запрашивать авторизацию».
Шаг 2 (проблема):
Ниже приведен еще один фрагмент кода, предоставленный страницей документации API Google Sheet для чтения данных с несколькими диапазонами: https://developers.google.com/sheets/api/reference/rest/v4/spreadsheets.values/batchGet
Я, однако, не знаю, как сгенерировать учетные данные для аутентификации для authClient.Должен ли я что-то делать с token.json?Если да, то каков протокол использования файла token.json?
Пожалуйста, не стесняйтесь задавать любые дополнительные вопросы, если это необходимо.
enter code here// BEFORE RUNNING:
// ---------------
// 1. If not already done, enable the Google Sheets API
// and check the quota for your project at
// https://console.developers.google.com/apis/api/sheets
// 2. Install the Node.js client library by running
// `npm install googleapis --save`
const {google} = require('googleapis');
var sheets = google.sheets('v4');
authorize(function(authClient) {
var request = {
// The ID of the spreadsheet to retrieve data from.
spreadsheetId: 'my-spreadsheet-id', // TODO: Update placeholder value.
// The A1 notation of the values to retrieve.
ranges: [], // TODO: Update placeholder value.
// How values should be represented in the output.
// The default render option is ValueRenderOption.FORMATTED_VALUE.
valueRenderOption: '', // TODO: Update placeholder value.
// How dates, times, and durations should be represented in the output.
// This is ignored if value_render_option is
// FORMATTED_VALUE.
// The default dateTime render option is [DateTimeRenderOption.SERIAL_NUMBER].
dateTimeRenderOption: '', // TODO: Update placeholder value.
auth: authClient,
};
sheets.spreadsheets.values.batchGet(request, function(err, response) {
if (err) {
console.error(err);
return;
}
// TODO: Change code below to process the `response` object:
console.log(JSON.stringify(response, null, 2));
});
});
function authorize(callback) {
// TODO: Change placeholder below to generate authentication credentials. See
// https://developers.google.com/sheets/quickstart/nodejs#step_3_set_up_the_sample
//
// Authorize using one of the following scopes:
// 'https://www.googleapis.com/auth/drive'
// 'https://www.googleapis.com/auth/drive.file'
// 'https://www.googleapis.com/auth/drive.readonly'
// 'https://www.googleapis.com/auth/spreadsheets'
// 'https://www.googleapis.com/auth/spreadsheets.readonly'
var authClient = null;
if (authClient == null) {
console.log('authentication failed');
return;
}
callback(authClient);
}