#javascript #google-api #spreadsheet
#javascript #google-api #электронная таблица
Вопрос:
Я пытаюсь получить доступ к данным внутри электронной таблицы
const { GoogleSpreadsheet } = require('google-spreadsheet');
const {promisify} = require('util');
const creds = require('./client_secret.json');
async function accessSpreadsheet() {
const doc = new GoogleSpreadsheet('1cErelgrkTYCOiEaTiFviF3M7chqMesmLBSp2rbxnFD4');
await promisify(doc.useServiceAccountAuth)(creds);
const info = await promisify(doc.getInfo)();
const sheet = info.worksheets[0];
console.log(`Title: ${sheet.title}`);
}
accessSpreadsheet();
и это выдает мне ошибку
TypeError: Cannot set property 'jwtClient' of undefined
Есть идеи?
Ответ №1:
Если у вас есть :
- Идентификатор клиента
- секрет клиента
- обновить токен
затем вы можете просто выполнить все шаги, приведенные ниже, чтобы получить доступ к любым данным электронной таблицы Google в node JS :
1. включите эти библиотеки:
const { google } = require('googleapis')
const { OAuth2 } = google.auth
2. Настройка пользователя
const oAuth2Client = new OAuth2('your client ID', 'your client Secret')
oAuth2Client.setCredentials({
refresh_token: 'your Refresh Token'
});
3. Введите диапазон и идентификатор листа, к которому вы хотите получить доступ:
const sheets = google.sheets({version: 'v4', auth:oAuth2Client});
let result = await sheets.spreadsheets.values.get({
spreadsheetId: 'SpreadSheet Id You Want To Access',
range:'A1:D3' //range you can specify according to you
});
4. теперь получите доступ к объекту result, который хранит данные в формате json:
console.log(result.data.values);
вы получите данные, подобные приведенной выше таблице