问题描述
我正在尝试在本地 node.js 脚本文件(firebase 函数之外)中使用 firebase admin sdk,以便执行一些身份验证和 firestore 操作。
但我收到此错误:
{"severity":"WARNING","message":"Warning,FIREBASE_CONfig and GCLOUD_PROJECT environment variables are missing. Initializing firebase-admin will fail"}
Error: Failed to determine project ID: Error while making request: getaddrinfo ENOTFOUND Metadata.google.internal. Error code: ENOTFOUND
Admin SDK 初始化:
const admin = await import('firebase-admin');
const serviceKey = require('path/to/serviceKey.json');
admin.initializeApp({
credential: admin.credential.cert(serviceKey),databaseURL: 'https://{project}.firebaseio.com',});
我在此错误中发现的所有问题都与在本地运行 firebase-functions 相关,但我不是在尝试使用 firebase-functions,我只是在尝试在本地使用 admin.auth 和 admin.firestore。
我在这里遗漏了什么吗?
解决方法
它适用于基于此 documentation 的以下代码:
const admin = require('firebase-admin');
const serviceKey = require('./path/to/serviceKey.json');
admin.initializeApp({
credential: admin.credential.cert(serviceKey),databaseURL: 'https://{project}.firebaseio.com'
});
我也看到了这个 question,从当前 Firebase 项目创建新的 Google Cloud 项目并将 Firebase 项目计划升级到 Blaze Plan 解决了这个问题。