我是Firebase的新手。我尝试连接Firestore和云功能(Node JS)。
我尝试运行firebase serve
但是显示错误,表明无法在gcloud中加载默认凭据。
我已经尝试过firebase deploy
,它完全可以正常工作。仅当我在本地运行时才会显示错误。
我也需要在Google Cloud中创建一个帐户并将我的应用程序链接到该帐户吗?
这是完整的输出错误:
i functions: Beginning execution of "getScreamDet"
> Error: Could not load the default credentials. Browse to https://cloud.google.com/docs/authentication/getting-started for more information.
> at GoogleAuth.getApplicationDefaultAsync (/Users/vigneshwar/Desktop/rsocialapp-backend/functions/node_modules/google-auth-library/build/src/auth/googleauth.js:161:19)
> at process._tickCallback (internal/process/next_tick.js:68:7)
答案 0 :(得分:1)
我想您正在尝试使用firebase-admin
软件包。
对于最新的firebase-admin,您不能使用这样的默认凭据进行初始化。
const admin = require('firebase-admin');
admin.initializeApp();
您将需要使用serviceAccount凭据。转到Firebase项目设置>服务帐户> FirebaseAdminSdk。复制代码以进行初始化。
您最终会得到类似以下内容:
const admin = require('firebase-admin');
var serviceAccount = require("path/to/serviceAccountKey.json");
admin.initializeApp({
credential: admin.credential.cert(serviceAccount),
databaseURL: "xxxxx"
});