启动Admin SDK时出现以下错误:
UnhandledPromiseRejectionWarning:错误:无法解析私钥: 错误:读取ASN.1值的字节太少
这是我用于启动Admin SDK的代码:
admin.initializeApp({
credential: admin.credential.cert({
projectId: 'Extracted from the firebase console',
clientEmail: 'Project settings -> Service Account -> Firebase service account',
privateKey: '-----BEGIN PRIVATE KEY-----\n<KEY>\n-----END PRIVATE KEY-----\n'
}),
KEY =从私钥文件的文本中检索。在控制台中生成
我还尝试使用控制台代码段并给出了此错误:
SyntaxError: /data/data/com.termux/files/home/textos-da-ju/scripts/gerarPDF/serviceAccountKey.json: JSON中的意外令牌e在位置0
有人知道如何正确启动此管理SDK吗? 节点版本:11.14.0
答案 0 :(得分:0)
请参见https://firebase.google.com/docs/admin/setup。
注意:FIREBASE_CONFIG环境变量自动包含在通过Firebase CLI部署的Firebase功能的Cloud Functions中。
如果您想在Cloud Functions中将Admin SDK用于Firebase功能,则仅使用以下代码
// Initialize the default app
var admin = require('firebase-admin');
var app = admin.initializeApp();
如果需要使用serviceAccountKey.json,则类似于以下代码。
// import or require serviceAccountKey.json
// See https://stackoverflow.com/questions/7163061/is-there-a-require-for-json-in-node-js .
// Change path to your serviceAccountKey.json
import * as serviceAccountKey from "./serviceAccountKey.json";
// var serviceAccountKey = require("path to your serviceAccountKey.json")
admin.initializeApp({
credential: admin.credential.cert({
projectId: serviceAccountKey.project_id,
clientEmail: serviceAccountKey.client_email,
privateKey: serviceAccountKey.private_key
}),
databaseURL: "Your Database URL",
projectId: "Your Project Id",
storageBucket: "Your Storage Bucket"
});