Я пытаюсь развернуть облачную функцию и получаю сообщение об ошибке «Невозможно прочитать статус неопределенного» - PullRequest
0 голосов
/ 25 сентября 2019

Я пытаюсь написать функцию, которая отправляет данные из Firestore на Google лист.Вот моя функция в index.js:

const {google} = require('googleapis');
const { promisify } = require('util');
exports.loadInformation = functions.firestore.document('incident-report/{id}').onCreate((err, req, res, next) => {
  console.log('I am triggered')

    google.auth.getClient({
      scopes: ['https://www.googleapis.com/auth/spreadsheets'],
    }).then(auth => {
      const api = google.sheets({ version: 'v4', auth });
      const getSheets = promisify(api.spreadsheets.get.bind(api.spreadsheets));
      return getSheets({ spreadsheetId: '1hCF8jDt6uqYZ7qC93To2n0MbGzDWPIBU72IMp2xqh5Y' });
    })
      // This just prints out all Worksheet names as an example
      .then(({ data: { sheets } }) => {
        res.status(200).send({ sheets });
      })
      .catch(err => {
        res.status(500).send({ err });
      })
});

Я получаю следующую ошибку.Ошибка типа: не удается прочитать свойство 'status' из неопределенного

Как я могу решить эту проблему?Моя функция выглядит хорошо.

1 Ответ

3 голосов
/ 25 сентября 2019

Триггер Firestore onCreate ожидает обработчик (функцию) с двумя аргументами, а не с четырьмя.Причина, по которой он жалуется на то, что res не определена, заключается в том, что по этому параметру ничего не передается, поскольку это третий аргумент в функции, которая передает только два (DocumentSnapshot и EventContext).Дайте этим документам прочтение GCP Firestore и Firebase Firestore , оно должно направить вас на правильный путь.Также обратите внимание, что ни один из примеров не использует общий стиль обратного вызова с ошибкой, такой как (err, ...) => ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...