J. *_*ams 8 firebase firebase-realtime-database firebase-cli
我有一个没有启用结算的Firebase项目.我想使用属于另一个启用计费的项目的VM创建数据库备份.备份脚本非常简单:
.npm/bin/firebase --project $PROJECT_ID database:get /
Run Code Online (Sandbox Code Playgroud)
将新创建的服务帐户分配给运行此脚本的VM(通过GCE).如果此帐户无权访问项目$PROJECT_ID,那么显然会失败:
Error: Authorization failed. This account is missing the following required permissions on project $PROJECT_ID:
firebase.projects.get
firebasedatabase.instances.get
Run Code Online (Sandbox Code Playgroud)
但是,将这些特定权限授予服务帐户,或者甚至将"所有者"角色分配给该项目并不会使它变得更好.代替:
Error: HTTP Error: 404, The specified project was not found.
Run Code Online (Sandbox Code Playgroud)
使用--debug专门GET https://admin.firebase.com/v1/projects/$PROJECT_ID返回404的节目运行.
该项目存在,我通过在我的工作站上使用我自己的(非服务)帐户运行完全相同的命令来验证.我还通过gcloud auth list在VM上运行来验证该帐户是否正确.该项目还显示在gcloud projects list同一VM上的输出中.
有没有办法让服务帐户跨项目工作并访问Firebase数据库?
有类似的问题,
其他人为我的团队创建了 firebase 应用程序,我拥有所有者权限。
这对我有用,尝试以下命令: firebase use --add
感谢 Paco Zevallos 的评论,让我找到了解决方案。
我在以下位置看到了这个解决方案:https ://stackoverflow.com/a/45263918/5283424
检查该解决方案以获取其他命令和故障排除。
| 归档时间: |
|
| 查看次数: |
2131 次 |
| 最近记录: |