angularfire2:未启用 Cloud Firestore API

angularfire2: The Cloud Firestore API is not enabled

我目前正在学习在我的项目中实现 angularfire2。不幸的是我目前被困住了。我设置了我的 Angular-项目,如下所述

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

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

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

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

ERROR Error: The Cloud Firestore API is not enabled for the project

现在我在此处找到了启用 API 的方法

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

现在把错误留给我

ERROR Error: Missing or insufficient permissions

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

多亏了 Edric,我才得以解决它。他是对的。我的错误是,我试图使用 AngularFirestore 而不是 AngularFireDatabase 和 AngularFireDatabaseModule。我也导入了theese之后它起作用了。

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

我唯一需要更改的是,您不将 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 时遇到困难

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

转到:

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

并将规则更改为:

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

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

Select 您的项目然后单击数据库并将下拉列表从 "Realtime Database" 更改为 "Cloud Firestore"