Когда я пытаюсь опубликовать данные с почтальоном в firebase, я получаю эту ошибку:
Ошибка: значение для аргумента «данные» не является допустимым документом Firestore. Невозможно использовать «undefined» в качестве значения Firestore (находится в теле поля).
Я проверил, и body и userHandle возвращаются как неопределенные, но я не знаю почему. С почтальоном я использую POST и в теле отправляю json вот так:
{
"body": "scream 2",
"userHandle": "user2"
}
как необработанный JSON (приложение / json)
const functions = require('firebase-functions');
const admin = require('firebase-admin');
let firebaseConfig = {
apiKey: '*******',
authDomain: '******',
databaseURL: '*****',
projectId: '*****',
storageBucket: '****',
messagingSenderId: '*****',
appId: '*******'
};
admin.initializeApp(firebaseConfig);
exports.createScream = functions.https.onRequest((req, res) => {
if (req.method !== 'POST') {
return res.status(400).json({ error: 'Method not allowed' });
}
const newScream = {
body: req.body.body,
userHandle: req.body.userHandle,
createdAt: admin.firestore.Timestamp.fromDate(new Date())
};
admin
.firestore()
.collection('screams')
.add(newScream)
.then(doc => {
res.json({ message: `document ${doc.id} created successfully` });
})
.catch(err => {
res.status(500).json({ error: 'something went wrong' });
console.error(err);
});
});