您好,我正在使用 firebase 函数,并且使用
firebase init
创建了一个 Node.js 项目,然后我选择了选项 functions、firebase 和 storage。该项目与 firebase-admin
NPM 包一起使用。
当我使用
firebase deploy
部署项目时一切顺利,但是当我在云上运行该函数时,它会显示以下消息:
我已经用模拟器测试了整个项目,效果很好。
项目结构:
什么原因导致此错误?谢谢!
我解决了。问题是我在initializeApp中有这个:
const serviceAccount = require("../project-name-f3ad6ae0572f.json");
admin.initializeApp({
credential: admin.credential.cert(serviceAccount),
storageBucket: BUCKET_NAME,
});
这是不正确的,因为我缺少 Firebase 控制台 -> 项目设置 -> 您的应用程序上给出的 Firebase 配置。
那么,结果一定是这样的:
const firebaseConfig = {
apiKey: "xxx-your-api-key-xxx",
authDomain: "project-name.firebaseapp.com",
projectId: "project-name",
storageBucket: "project-name.appspot.com",
messagingSenderId: "xxxxxxxxxxxxxxxx",
appId: "x:xxxxxxxxxxxxxxx:web:xxxxxxxxxxxxxxx",
measurementId: "G-XXXXXXXXX",
};
admin.initializeApp(firebaseConfig);
验证您的电脑时间,我遇到了同样的问题并在更新电脑时间时解决。
import * as admin from 'firebase-admin';
const serviceAccount = require('./firebase.json');
if (!admin.apps.length) {
admin.initializeApp({
credential: admin.credential.cert(serviceAccount),
});
}
export const firebaseDB = admin.firestore();
我可能迟到了这个问题,但我昨天(2022 年 10 月 16 日)遇到了类似的问题。我认为,当您手动设置计算机时间时,Firebase 不起作用。
因此您的 Firebase 时间戳规则必须与您当前的主机时间匹配。
我今天也遇到了同样的问题,如果只发生在你本地环境中,那么有 99% 的可能性是你的计算机时间错误。
嗯,我刚刚遇到了同样的错误,感谢这个线程,它帮助我指明了正确的方向。问题为我解决了。这对我来说不是日期/时间。 原来是
const serviceAccount = require('your-app-name-firebase-adminsdk-rbtsc...JSON')
我生成了一个新的私钥,我又回到了游戏中。