Firebase:如何以编程方式获取项目的默认实时数据库 URL?
Firebase: How to programmatically obtain the default realtime database URL for a project?
我们有 3 个 Firebase 项目 – 一个用于生产,一个用于暂存,一个用于开发。
生产和暂存是在 2020 年 12 月之前创建的,它们的“项目名称”和数据库 ID 匹配:("project-foo"
映射到 "project-foo.firebaseio.com"
数据库 url)。
对于一个新创建的“开发”项目,在我按下仪表板中的“创建数据库”后,新数据库得到一个与项目名称不匹配的 url:
("project-foo-development"
映射到 "project-foo-development-default-rtdb.europe-west1.firebasedatabase.app"
)。
我正在编写一个在所有 3 个环境中运行的脚本,很明显我不能假设数据库 url 将匹配项目 ID,或者数据库托管的顶级域将匹配一样。
如何从 firebase 获取 default 数据库 URL 动态 以便我可以将我的脚本应用于所有 3 个环境?
我知道我可以从仪表板获取 url,但理想情况下我只需要项目名称,因为这些 ids/urls 似乎由 Firebase 控制。
我用 REST API 快速测试了它,我可以从它的 projects.getAdminSdkConfig
call 中得到正确的值。在该调用的结果中,您将找到一个 databaseURL
键,其值是完整的数据库 URL。
我们有 3 个 Firebase 项目 – 一个用于生产,一个用于暂存,一个用于开发。
生产和暂存是在 2020 年 12 月之前创建的,它们的“项目名称”和数据库 ID 匹配:("project-foo"
映射到 "project-foo.firebaseio.com"
数据库 url)。
对于一个新创建的“开发”项目,在我按下仪表板中的“创建数据库”后,新数据库得到一个与项目名称不匹配的 url:
("project-foo-development"
映射到 "project-foo-development-default-rtdb.europe-west1.firebasedatabase.app"
)。
我正在编写一个在所有 3 个环境中运行的脚本,很明显我不能假设数据库 url 将匹配项目 ID,或者数据库托管的顶级域将匹配一样。
如何从 firebase 获取 default 数据库 URL 动态 以便我可以将我的脚本应用于所有 3 个环境?
我知道我可以从仪表板获取 url,但理想情况下我只需要项目名称,因为这些 ids/urls 似乎由 Firebase 控制。
我用 REST API 快速测试了它,我可以从它的 projects.getAdminSdkConfig
call 中得到正确的值。在该调用的结果中,您将找到一个 databaseURL
键,其值是完整的数据库 URL。