是否可以使用 'firebase-admin' 包调用 firebase 函数?
Is it possible to call firebase functions with 'firebase-admin' package?
我的节点应用程序具有基于服务帐户的访问权限,因此我使用了 firebase-admin
。正如我之前看到的,firebase-admin
大部分是重复的 firebase
包(身份验证部分、签名和其他一些部分除外),但现在我想调用函数,但我找不到 firebase
的任何等效项=15=]。我研究了 Typescript 类型,他们甚至没有提到函数。
admin.initializeApp({
credential: admin.credential.cert('./service-account-credentials.json'),
databaseURL: process.env.REACT_APP_FIREBASE_DATABASE_URL,
});
const config = {
storageBucket: process.env.REACT_APP_FIREBASE_STORAGE_BUCKET,
};
const storageBucket = admin.storage().bucket(config.storageBucket);
const firestore = admin.firestore();
// const functions = admin.apps[0].functions(); // not possible
const functions = firebase.apps[0].functions(); // possible, but Firestore.apps not initialized
我有哪些选择?
在 Node.js Admin SDK for Firebase 中没有 firebase-functions
client 调用 Callable Cloud Functions。
虽然这不是一个不合理的请求,所以我建议在 Github repo 上提交功能请求,以便其他人也可以权衡。
与此同时,唯一的选择是实施 wire protocol for callable Cloud Functions yourself, possibly based on their implementation on the regular JavaScript SDK。
以这段代码结束。用户 id 是 firebase 用户 uid。
const firebaseApp = async (userId: string) => {
if (firebase.apps?.length) {
firebase.apps.forEach((app) => app.delete());
console.log(`Deleted ${firebase.apps.length} apps`);
}
const customToken = await admin.auth().createCustomToken(userId);
const firebaseApp = firebase.initializeApp(config);
await firebaseApp.auth().signInWithCustomToken(customToken);
return firebaseApp;
};
const firebase = await firebaseApp('WObPvJbZDIR9WB72Tun8Jg4D0ky2');
await firebase
.functions('europe-west1')
.httpsCallable('myFunction')(doc);
我的节点应用程序具有基于服务帐户的访问权限,因此我使用了 firebase-admin
。正如我之前看到的,firebase-admin
大部分是重复的 firebase
包(身份验证部分、签名和其他一些部分除外),但现在我想调用函数,但我找不到 firebase
的任何等效项=15=]。我研究了 Typescript 类型,他们甚至没有提到函数。
admin.initializeApp({
credential: admin.credential.cert('./service-account-credentials.json'),
databaseURL: process.env.REACT_APP_FIREBASE_DATABASE_URL,
});
const config = {
storageBucket: process.env.REACT_APP_FIREBASE_STORAGE_BUCKET,
};
const storageBucket = admin.storage().bucket(config.storageBucket);
const firestore = admin.firestore();
// const functions = admin.apps[0].functions(); // not possible
const functions = firebase.apps[0].functions(); // possible, but Firestore.apps not initialized
我有哪些选择?
在 Node.js Admin SDK for Firebase 中没有 firebase-functions
client 调用 Callable Cloud Functions。
虽然这不是一个不合理的请求,所以我建议在 Github repo 上提交功能请求,以便其他人也可以权衡。
与此同时,唯一的选择是实施 wire protocol for callable Cloud Functions yourself, possibly based on their implementation on the regular JavaScript SDK。
以这段代码结束。用户 id 是 firebase 用户 uid。
const firebaseApp = async (userId: string) => {
if (firebase.apps?.length) {
firebase.apps.forEach((app) => app.delete());
console.log(`Deleted ${firebase.apps.length} apps`);
}
const customToken = await admin.auth().createCustomToken(userId);
const firebaseApp = firebase.initializeApp(config);
await firebaseApp.auth().signInWithCustomToken(customToken);
return firebaseApp;
};
const firebase = await firebaseApp('WObPvJbZDIR9WB72Tun8Jg4D0ky2');
await firebase
.functions('europe-west1')
.httpsCallable('myFunction')(doc);