Firebase函数HTTP触发器 – 错误:无法处理请求 – Firebase未定义

提前道歉,如果我的语法不正确,因为我是Firebase的新手(和node.js)。

使用HTTP触发器,我试图从我的实时数据库中将“奖”数据作为对象。 但是,基于我的设置,当我执行从firebase deploy接收到的URL时,我收到以下错误。

错误:无法处理请求

我确实将firebase更改为admin ,但这并不能解决问题。

另外我还以为.catch()方法至less会让我理解问题是什么,而不是告诉我“错误”。

我希望最终的结果是:

 {"create_your_own":"false","first_time":"true","five_in_a_row":"true", "share_with_friend": "false"} 

任何帮助破译我的问题,不胜感激。

function日志

在这里输入图像说明

实时数据库

 fir-db-test-mike | |__awards | | | |__user01 | | | | | |__create_your_own: false | | |__first_time: true | | |__five_in_a_row: true | | |__share_with_friend: false | | | | | |__user02 | | | |__create_your_own: false | |__first_time: false | |__five_in_a_row: false | |__share_with_friend: false 

index.js

 const functions = require('firebase-functions'); require('./src/grabData')(module.exports); 

grabData.js

 const functions = require('firebase-functions') const admin = require('firebase-admin') admin.initializeApp(functions.config().firebase) 26 module.exports = (event) => { 27 event.grabAwards = functions.https.onRequest((request, response) => { 28 firebase.database().ref('/awards/{pushId}').once('value') .then(function(snapshot) { 29 var awards = snapshot.val(); 30 res.status(200).send(awards); 31 }).catch(error => { 32 this.errorMessage = 'Error - ' + error.message 33 }); 34 }) 35 } 

您不会导入任何名为firebase模块。 而是以pipe理员身份导入Firebase Admin SDK。 所以你要使用admin.database()

 const functions = require('firebase-functions') const admin = require('firebase-admin') // name used here admin.initializeApp(functions.config().firebase) module.exports = (event) => { event.grabAwards = functions.https.onRequest((request, response) => { admin.database().ref('/awards/{pushId}').once('value') // must match name used here .then(function(snapshot) { var awards = snapshot.val(); res.status(200).send(awards); }).catch(error => { this.errorMessage = 'Error - ' + error.message }); }) }