【问题标题】:angularfire2: The Cloud Firestore API is not enabledangularfire2:未启用 Cloud Firestore API
【发布时间】:2018-03-19 15:33:18
【问题描述】:

我目前正在学习在我的项目中实现 angularfire2。不幸的是,我目前被卡住了。我像这里描述的那样设置了我的 Angular-Project

https://github.com/angular/angularfire2/blob/master/docs/install-and-setup.md

我还在 firebase 中使用规则集建立了一个数据库

{
  "rules": {
    ".read": "true",
    ".write": "true"
  }
}

但是当我尝试在浏览器的控制台中运行应用程序时,出现以下错误

ERROR 错误:该项目未启用 Cloud Firestore API

现在我在这里找到了启用 API 的方法

https://console.cloud.google.com/apis/library/firestore.googleapis.com/?project=projectname

现在让我带着错误

ERROR 错误:权限缺失或不足

我现在的问题是我可以设置 API 密钥(但也可以从我的 firebase 控制台获得不同的 API 密钥?)和 OAuth,但我不知道如何实现这些是我的代码。只是简单地生成一个 API 密钥并在 environment.firebase 配置中使用该密钥是行不通的。如果有人知道什么就太好了。我会继续努力,如果我也能正常工作,我会通知你。

【问题讨论】:

  • 如果您使用的是AngularFireDatabase,请在您的app.module.ts 中从angularfire2/database 导入AngularFireDatabaseModule

标签: angularjs node.js firebase angularfire2 google-cloud-firestore


【解决方案1】:

让其他人知道它在 firebase 控制台中的位置:

选择您的项目,然后点击数据库并将下拉菜单从“实时数据库”更改为“Cloud Firestore”

【讨论】:

    【解决方案2】:

    我遇到了同样的问题,我已经解决了这个问题:

    转到:

    https://console.firebase.google.com/u/1/project/**ProjectID**/database/firestore/rules

    并将规则更改为:

    service cloud.firestore {
      match /databases/{database}/documents {
        match /{document=**} {
          allow read, write;
        }
      }
    }
    

    【讨论】:

      【解决方案3】:

      感谢 Edric,我能够解决它。他是对的。我的错误是,我试图使用 AngularFirestore 而不是 AngularFireDatabase 和 AngularFireDatabaseModule。在我也导入了这些之后,它也起作用了。

      如果你遇到和我一样的困难,基本上你的模块需要看起来像这里描述的那样

      No provider for AngularFireDatabase, AngularFireAuth

      唯一需要改变的是,您不要将 AngularFireDatabase 和 AngularFireDatabaseModule 添加到导入,而是添加到提供程序。所以最后你的模块会是这样的

      import { BrowserModule } from '@angular/platform-browser';
      import { NgModule } from '@angular/core';
      
      import { AngularFireModule } from 'angularfire2';
      import { AngularFireDatabaseModule, AngularFireDatabase } from 'angularfire2/database';
      import { environment } from '../environments/environment';
      import { AppComponent } from './app.component';
      
      
          @NgModule({
            declarations: [
              AppComponent
            ],
            imports: [
              BrowserModule,
              AngularFireModule.initializeApp(environment.firebase),
      
            ],
            providers: [AngularFireDatabase, AngularFireDatabaseModule ],
            bootstrap: [AppComponent]
          })
          export class AppModule { }
      

      再次感谢,我希望这也能帮助其他在设置 FireDatabase 时遇到困难的人

      【讨论】:

      • 您能提供更多有关您遇到的问题的信息吗?那我去研究一下。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-09-17
      • 2021-05-10
      • 2018-12-29
      • 1970-01-01
      • 2019-09-09
      • 2018-05-20
      相关资源
      最近更新 更多