我想用firebase函数实现一个函数,但是问题是在firebase面板中从来没有反映出正在执行某些操作。
这是我的函数代码,其想法是从具有特定ID的特定文档中获取所有数据。
exports.identifyusers=functions.https.onRequest((req, res) => {
var db = admin.firestore();
const key=req.query.key;
return db.collection("usuariosdinny").doc(key).get().then(snapshot => {
console.log("Correcto")
}).catch(reason => {
res.send(reason)
})
});
这是我调用函数的部分:(此部分是一个身份验证过程,对用户我是正确的,我将获得ID并将该ID发送给函数)
this.afAuth.auth.signInWithEmailAndPassword(userst.email,userst.password)
.then(res=>
{
console.log(this.afAuth.auth.currentUser.uid);
var tipo= firebase.functions().httpsCallable('identifyusers').arguments(this.afAuth.auth.currentUser.uid);
console.log(tipo);
if(tipo=="Cliente Dinny")
{
console.log("Es un cliente");
}
else{
console.log("No tiene permiso para")
}
}
//this.navCtrl.push(TabsControllerPage)&& loader.dismiss())
).catch(reject =>alert.present() && loader.dismiss());
}).catch(reject=>loader.dismiss());
感谢您的帮助。
答案 0 :(得分:2)
您的客户代码正在尝试调用“可调用”功能:
firebase.functions().httpsCallable('identifyusers')
但是您的函数定义为HTTP类型的函数:
exports.identifyusers=functions.https.onRequest(...)
如果要调用可调用函数,则必须编写一个可调用函数。 Read the documentation for callable functions了解如何执行此操作。
exports.identifyusers = functions.https.onCall(...)