Google Spreadsheets API говорит, что .save() не является функцией?

#javascript #node.js #google-sheets-api

#javascript #node.js #google-sheets-api

Вопрос:

Я работаю с электронной таблицей в Node.js использование google-spreadsheet-api. Я пытаюсь обновить значения в электронной таблице после обновления их в коде с .save() помощью, как указано в документации, но я получаю эту ошибку:

 UnhandledPromiseRejectionWarning: TypeError: data[i][5].save is not a function
 

Вот код, который я использую. Я удалил посторонний код, касающийся инициализации документа и всего такого:

           await doc.loadInfo();
          sheet = doc.sheetsByIndex[0];
          data = await sheet.getRows().then((q) => {
            return q.map((v) => v._rawData);
          });
          console.log(data)

          voterID = message.author.id //discord.js, gets id of the person triggering this function

          for (i = 0; i < data.length; i  ) { //go through every row of voting candidate
            if (data[i][5].includes(voterID)) { //if user already their ID "signature" voted on something else
              data[i][5].replace(`${voterID}, `, "") // remove it
            }

            data[earned - 1]  = `${voterID}, ` //add their signature to the voting candidate they specified 

            await data[i][5].save();
            await data[earned - 1].save();
          }
        }
 

Не знаю, что я здесь делаю не так.
Редактировать: Забыл упомянуть, что я пытался обновить пакет, ничего не изменилось.

Комментарии:

1. Могу я спросить, откуда вы берете документацию? Я спрашиваю, потому что упомянутый вами пакет npm не является официальным пакетом Google Sheet и может неправильно соответствовать документации. npm install googleapis@39 --save является ли официальная команда установки пакета

2. вот официальный node.js быстрый старт

3. Это API, который я использую. Он включает в себя функцию сохранения, которую мой компилятор не распознает.

4. Не знаком с этой библиотекой, но из документов, на которые вы ссылались, похоже, что каждый раз save , когда вызывается что-то в этом формате row[i].save() . Тем не менее, вы вызываете data[i][j].save() . Может быть, попробуйте не сохранять таким детализированным способом и просто сохранить data[i].save() . Или даже просто используйте то, что выглядит как метод сохранения всех sheet.saveUpdatedCells(); // save all updates in one call — поскольку под «сохранить», я полагаю, подразумевается «отправить запрос», и, как правило, лучше отправлять меньше запросов.