我使用云函数作为 Webhook 接收器,因此每次获得 Webhook 时,我都想用一些数据更新 firestore。我不知道如何在我的云函数中使用 firestore。
我试过这个:
const admin = require("firebase-admin");
...
admin.initializeApp();
res.send(admin.database().ref("/tmp_list/1uMW9ED3YGMfERHZiKJc").get());
似乎所有人都无法启动这一点。我也尝试过:
admin.initializeApp(functions.config().firebase);
如文档中所述,以下应该可以解决问题:
const functions = require('firebase-functions');
const admin = require('firebase-admin');
admin.initializeApp();
然后,要与 HTTPS 云函数中的实时数据库交互,您应该按照以下方式进行操作:
exports.date = functions.https.onRequest(async (req, res) => {
const db = admin.database();
const dataSnapshot = await db.ref("tmp_list/1uMW9ED3YGMfERHZiKJc").get();
const data = dataSnapshot.val();
// ...
res.send(data);
});
由于您将问题标记为
google-cloud-firestore
,请注意,为了在 HTTPS 云功能中与 Firestore 交互,您应该执行以下操作:
exports.date = functions.https.onRequest(async (req, res) => {
const db = admin.firestore();
const docSnapshot = await db.doc("tmp_list/1uMW9ED3YGMfERHZiKJc").get();
const data = docSnapshot.data();
// ...
res.send(...)
});
我建议您观看以下官方视频。