Node.js Firebase功能在部署但不在本地时工作

Node.js Firebase功能在部署但不在本地时工作,node.js,firebase,google-cloud-functions,Node.js,Firebase,Google Cloud Functions,我有一个函数,它只是从firebase中获取数据并显示它。这在部署时非常有效,但不是在本地 为了以防万一,我附加了我的代码,但考虑到它在部署时可以工作,我认为这不会是问题所在,它的副本也是从freecodecamp教程粘贴的 目录如下: firebase folder |functions ||APIs |||todos.js ||util |||admin.js ||index.js 此外,本地版本确实有一个输出,它只是todos.js第9行中初始化的空数组 //todos.js const

我有一个函数,它只是从firebase中获取数据并显示它。这在部署时非常有效,但不是在本地

为了以防万一,我附加了我的代码,但考虑到它在部署时可以工作,我认为这不会是问题所在,它的副本也是从freecodecamp教程粘贴的

目录如下:

firebase folder
|functions
||APIs
|||todos.js
||util
|||admin.js
||index.js
此外,本地版本确实有一个输出,它只是todos.js第9行中初始化的空数组

//todos.js
const { db } = require('complete file path');

exports.getAllTodos = (request, response) => {
    db
        .collection('todos')
        .orderBy('createdAt', 'desc')
        .get()
        .then((data) => {
            let todos = [];
            data.forEach((doc) => {
                todos.push({
                    todoId: doc.id,
                    title: doc.data().title,
                    body: doc.data().body,
                    createdAt: doc.data().createdAt,
                });
            });
            return response.json(todos);
        })
        .catch((err) => {
            console.error(err);
            return response.status(500).json({ error: err.code});
        });
};


我还执行了导出GOOGLE应用程序凭据=“path/to/key.json”,但没有成功。

您在没有任何凭据的情况下初始化了应用程序:

const refreshToken; // Get refresh token from OAuth2 flow

admin.initializeApp({
  credential: admin.credential.refreshToken(refreshToken),
  databaseURL: 'https://<DATABASE_NAME>.firebaseio.com'
});
const refreshttoken;//从OAuth2流获取刷新令牌
admin.initializeApp({
凭证:admin.credential.refreshToken(refreshToken),
数据库URL:'https://.firebaseio.com'
});

[参考本网站了解更多信息:

是的,你说得对,我没有任何凭证。为了尝试解决这个问题,我从firebase(.json文件)生成了一个密钥,并尝试导出GOOGLE\u APPLICATION\u CREDENTIALS=“path To json file”,但仍然没有成功。您是否遇到错误?如果是,请分享。
//index.js
const functions = require('firebase-functions');
const app = require('express')();

const {
    getAllTodos
} = require('./APIs/todos')

app.get('/todos', getAllTodos);
exports.api = functions.https.onRequest(app);
const refreshToken; // Get refresh token from OAuth2 flow

admin.initializeApp({
  credential: admin.credential.refreshToken(refreshToken),
  databaseURL: 'https://<DATABASE_NAME>.firebaseio.com'
});