【发布时间】:2020-05-19 07:08:10
【问题描述】:
在 Firebase Admin SDK 文档的不同页面中,例如 this page,建议:
如果您的代码部署在由 Google 管理的环境中,则 Admin SDK 可以尝试自动发现...服务帐户 为您的应用程序配置...要使用这些签名方法, 使用 Google Application Default 凭据初始化 SDK 并执行 未指定服务帐户 ID 字符串:
admin.initializeApp();
执行此操作时,我收到以下错误消息:
[错误:您的 API 密钥无效,请检查您是否已复制它 正确。] 代码:'auth/invalid-api-key',消息:'您的 API 密钥 无效,请检查是否正确复制。'
请注意,当我在我的项目中手动下载并导入凭据和服务帐户 JSON 文件时,我不会收到此错误消息。
重现错误的详细信息:
1-我正在使用 Firebase CLI 在 Cloud Functions 上部署它。所以,基本上,我使用firebase deploy。
2- 这是我的 Node.js 应用程序中的最少代码:
const admin = require("firebase-admin");
const config = require("./firebase-config");
admin.initializeApp();
const firebase = require("firebase");
firebase.initializeApp(config);
const functions = require("firebase-functions");
const express = require("express");
const bodyParser = require("body-parser");
const app = express();
app.use(bodyParser.json());
const cors = require("cors");
app.use(cors());
app.get("/", Some_Function);
exports.api = functions.https.onRequest(app);
当我将firebase.initializeApp(config); 替换为firebase.initializeApp(); 时发生错误
【问题讨论】:
-
在 firebase 函数中使用管理员时,您必须提供有效的凭据。 admin.initializeApp(config)
-
@ErnestasButa 您在哪个文档页面上找到了这些信息?
-
firebase.google.com/docs/admin/setup 也是我的错。如果您已设置环境变量和凭据 FIREBASE_CONFIG,则可以在不传递参数的情况下初始化 admin。
-
firebase.google.com/docs/admin/… 解释说:“注意:对于通过 Firebase CLI 部署的 Firebase 函数,FIREBASE_CONFIG 环境变量自动包含在 Cloud Functions 中。”那我为什么会得到那个错误呢?
-
也许他们的意思是它作为“保留”变量存在?但是你仍然必须设置它。虽然这只是猜测。至少对我来说,没有参数是行不通的
标签: firebase google-cloud-platform google-cloud-functions firebase-admin api-key