我正在尝试以下firebase deploy命令,我收到以下错误:
错误:授权失败.此帐户缺少项目ID项目的以下必需权限:
cloudfunctions.functions.create
cloudfunctions.functions.delete
cloudfunctions.functions.get
cloudfunctions.functions.list
cloudfunctions.functions.update
cloudfunctions.operations.get
firebase.projects.get
firebasehosting.sites.update
Run Code Online (Sandbox Code Playgroud)
我有所有的访问权限.我正在使用角6.
我应该提一下,这个项目在Firebase的前一个项目中正常运行.我创建了一个新的,我想将前一个的内容迁移到这个新的内容,并且问题就出现了.
我还应该提到在我与其他用户登录之前.
有任何想法吗?
我尝试将我的应用程序部署到firebase,但它失败了.
$ firebase deploy --project af2test
⚠您的CLI身份验证需要更新才能利用新功能.⚠请运行firebase login --reauth
错误:无法授权访问项目af2test
注意:此版本的Firebase CLI仅与升级到新Firebase控制台的项目兼容.要访问firebase.com应用程序,您需要使用以前的版本:npm install -g firebase-tools@^2.1
要访问Firebase控制台,请访问 https://console.firebase.google.com/
遇到麻烦?尝试firebase deploy --help
看起来像firebase-tools认为我有旧版本的firebase应用程序.但是,我只是在一个新的控制台中创建新项目,它仍然无法正常工作.它曾经在昨天工作.我使用npm的最新firebase-tools
$ firebase -V
3.6.0
如果我降级到2.1.它会让我升级吗?有什么想法来解决这个问题吗?
$ firebase deploy --project af2test
错误:CLI已过期(在2.2.1上,至少需要3.0.0)
运行npm install -g firebase-tools进行升级.
我有一个没有启用结算的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数据库?