Postman сообщает «Ошибка: не удалось обработать запрос» при отправке запроса в функцию Firebase

#javascript #node.js #firebase #google-cloud-firestore #google-cloud-functions

#javascript #node.js #firebase #google-cloud-firestore #google-cloud-функции

Вопрос:

 
exports.createNotice = functions.https.onRequest((req, res) => {
  if (req.method !== "POST") {
    return res.status(400).json({ error: "Method not allowed" });
  }

  const newNotice = {
    body: req.body.body,
    userHandle: req.body.userHandle,
    createdAt: admin.firestore().Timestamp.fromData(new Date()),
  };
  admin
    .firestore()
    .collection("notices")
    .add(newNotice)
    .then((doc) => {
      res.json({ message: `document ${doc.id} created successfully` });
    })
    .catch((err) => {
      res.status(500).json({ error: "something went wrong" });
      console.error(err);
    });
});
  

Это моя функция. Когда я развертываю и пытаюсь отправить запрос на Postman следующим образом:

 {
    "body": "New Notice",
    "userHandle": "user"
}
  

В нем говорится об ошибке: не удалось обработать запрос. Я хочу, чтобы он обновил мою базу данных в Firebase. Создание новой коллекции уведомлений. Кто-нибудь может мне помочь?

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

1. Вы получаете какую-либо ошибку в консоли облачных функций?

Ответ №1:

У вас есть две ошибки в вашем коде, когда вы создаете Timestamp .

  1. Существует опечатка: метод fromDate() не fromData() ;
  2. Вам нужно вызвать его следующим образом: admin.firestore.Timestamp.fromDate(new Date())

Кроме того, обратите внимание, что вы должны сделать следующее для первого блока в вашем коде. Нет необходимости использовать return , см. Документ.

   if (req.method !== "POST") {
    res.status(400).json({ error: "Method not allowed" });
  }