我的终端中出现此错误:
@firebase/database: FIREBASE WARNING: {"code":"app/invalid-
credential","message":"Credential implementation provided to .
initializeApp() via the \"credential\" property failed to fetch a valid
Google OAuth2 access token with the following error: \"Failed to parse
access token response: Error: Error while making request: getaddrinfo
ENOTFOUND metadata.google.internal metadata.google.internal:80. Error
code: ENOTFOUND\"."}`
使用
firebase-tools
时。这是我尝试运行的简单节点脚本。
const admin = require("firebase-admin");
const firebase = admin.initializeApp({
apiKey: "MY_API_KEY",
authDomain: "APP_ID.firebaseapp.com",
databaseURL: `https://DATABASE_URL.firebaseio.com`,
projectId: "APP_ID"
});
const snap = firebase
.database()
.ref("REF")
.child("ID")
.once("value");
console.log(snap);
Firebase 工具版本:5.0.1
我尝试过卸载并重新安装,使用
firebase login
/ firebase-logout
登录和退出 firebase-tools
配置结构错误且缺少字段...
admin.initializeApp({
databaseURL: 'https://<DATABASE_NAME>.firebaseio.com',
credential: admin.credential.cert({
projectId: '<PROJECT_ID>',
clientEmail: 'foo@<PROJECT_ID>.iam.gserviceaccount.com',
privateKey: '-----BEGIN PRIVATE KEY-----\n<KEY>\n-----END PRIVATE KEY-----\n'
})
});
您不能仅使用“Web”配置来访问 Firebase Admin SDK。
因为如果这是可能的,私钥就会暴露给公众。
请参阅文档。
我简单地通过运行解决了这个问题:
firebase login
当我没有互联网连接时,我也会遇到此错误。
对于那些希望在 本地计算机上初始化 firebase admin SDK 的人。
firebase emulators:start
export FIREBASE_AUTH_EMULATOR_HOST="127.0.0.1:9099"
导出模拟器主机initializeApp({ projectId: 'enter-your-project-id' })