@Byakugan

Как получить таблицу Google sheets как массив?

есть функция doSheet для работы с гугл таблицами
const { google } = require("googleapis");
//
function doSheet(file, sheetId, keyMass, fun) {
     const auth = new google.auth.GoogleAuth({
          keyFile: file,
          scopes: "https://www.googleapis.com/auth/spreadsheets",
     });
     //
     (async () => {
          const client = await auth.getClient();
          //
          const googleSheets = google.sheets({ version: "v4", auth: client });
          //
          const spreadsheetId = sheetId;
          //
          const metaData = await googleSheets.spreadsheets.get({
               auth,
               spreadsheetId,
          });
          //
          const data = {
               auth,
               spreadsheetId,
               valueInputOption: "USER_ENTERED",
               resource: {
                    values: keyMass.change,
               },
          }
          //
          if(keyMass.append) {
               data['range'] = keyMass.append;
               //
               const append = await googleSheets.spreadsheets.values.append(data);
               //
               fun(append);
          } else if(keyMass.values) {
               data['range'] = keyMass.values;
               //
               delete data.valueInputOption; delete data.resource;
               //
               const values = await googleSheets.spreadsheets.values.get(data);
               //
               fun(values); 
          } else if(keyMass.update) {
               data['range'] = keyMass.update;
               //
               const update = await googleSheets.spreadsheets.values.update(data);
               //
               fun(update);
          }
     })();
}
//


хочу воспользоваться параметром values для получения таблицы и сохранить его в массив для использования за пределами функции, как это сделать ?

doSheet('sheets.json', 'id', {values: 'list1'},  (data) => {
         console.log(data.data.values)
     })
  • Вопрос задан
  • 79 просмотров
Решения вопроса 1
sergiks
@sergiks Куратор тега JavaScript
♬♬
вроде бы так должно получиться:

- console.log(data.data.values)
+ console.log(data.values)

Метод spreadsheets.values/get возвращает объект ValueRange со свойствами range, majorDimension и values. Последнее и интересует.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы