以编程方式从 admin SDK 获取 firebase 函数 url

Get firebase function url from admin SDK programatically

有没有办法从 nodejs 的 Admin SDK 获取 Firebase 函数url?

在产品中它看起来像:https://REGION-PROJECT.cloudfunctions.net/FUNCTION_NAME

本地服务时:http://localhost:PORT/PROJECT/REGION/FUNCTION_NAME

是否可以通过编程方式在 nodejs 中获取此值?例如。来自管理员或配置设置?

Firebase Admin SDK 不公开任何处理 Cloud Functions 的 API。从您分享的内容来看,您似乎拥有自己构建 URL 所需的一切,这是正确的方法。

如果您真的必须使用其他软件,则必须深入研究 Firebase CLI 的内部工作原理并弄清楚如何重用其代码。您可能需要在两个地方查看 - 一个用于模拟器,另一个用于部署。我怀疑这几乎肯定不值得你花时间,因为自己构建字符串非常简单。

由于您没有明确说明您想要完成什么,我猜您希望您的应用程序知道您处于开发模式还是生产模式。

我所做的只是简单地在我的前后端代码中写了一些检查。例如,在 browser/web 代码中:

if (window.location.href.toString().includes('localhost:5000')) {
// exhibit desired behavior for emulator
} else {
// exhibit desired behavior for production
}

根据您调用 node/backend 函数的方式,您可以传递执行上下文(模拟或生产),并在后面使用它。

它并不完美,但实际上对我来说大大简化了开发。希望对您有所帮助!