Node.js Firebase函数HTTP触发器-错误:无法处理请求-未定义Firebase
如果我的语法不正确,请提前道歉,因为我是Firebase(和node.js)的新手 使用HTTP触发器,我试图从实时数据库中提取“奖励”数据作为对象。但是,根据我的设置,当我执行从Node.js Firebase函数HTTP触发器-错误:无法处理请求-未定义Firebase,node.js,firebase-realtime-database,google-cloud-functions,Node.js,Firebase Realtime Database,Google Cloud Functions,如果我的语法不正确,请提前道歉,因为我是Firebase(和node.js)的新手 使用HTTP触发器,我试图从实时数据库中提取“奖励”数据作为对象。但是,根据我的设置,当我执行从firebase deploy接收的URL时,我收到以下错误 错误:无法处理该请求 如前所述,我确实将firebase更改为admin,但这并没有解决问题 此外,我认为.catch()方法至少可以让我了解问题所在,而不是仅仅告诉我“错误” 我希望最终结果是: {"create_your_own":"false","fi
firebase deploy
接收的URL时,我收到以下错误
错误:无法处理该请求
如前所述,我确实将firebase
更改为admin
,但这并没有解决问题
此外,我认为.catch()方法至少可以让我了解问题所在,而不是仅仅告诉我“错误”
我希望最终结果是:
{"create_your_own":"false","first_time":"true","five_in_a_row":"true", "share_with_friend": "false"}
非常感谢您对我的问题的任何帮助
功能日志
实时数据库
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);
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 }
grabData.js
const functions = require('firebase-functions');
require('./src/grabData')(module.exports);
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
的模块。而是将Firebase Admin SDK作为Admin
导入。因此,您需要使用admin.database()
您没有导入任何名为
firebase
的模块。而是将Firebase Admin SDK作为Admin
导入。因此,您需要使用admin.database()
。请注意,这也是您选择的时间。