firebase-tools getaddrinfo ENOTFOUND metadata.google.internal

Dan*_*Neo 4 javascript node.js firebase firebase-admin

我在终端中收到此错误:

@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\"."}`
Run Code Online (Sandbox Code Playgroud)

使用时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);
Run Code Online (Sandbox Code Playgroud)

Firebase工具版本:5.0.1

我已经试过卸载并重新安装,进出的火力点,用工具登录firebase login/firebase-logout

Mar*_*ler 7

配置结构错误,缺少字段...

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'
    })
});
Run Code Online (Sandbox Code Playgroud)

您不能仅使用“网络”配置来访问Firebase Admin SDK。

因为如果可能的话,私钥将公开给公众。

请参阅文档

  • 不工作,使用 service_account_id ???https://firebase.google.com/docs/auth/admin/create-custom-tokens#using_a_service_account_id (2认同)