angularfire2:未启用 Cloud Firestore API

Posted

技术标签:

【中文标题】angularfire2:未启用 Cloud Firestore API【英文标题】:angularfire2: The Cloud Firestore API is not enabled 【发布时间】: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 【参考方案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 时遇到困难的人

【讨论】:

您能提供更多有关您遇到的问题的信息吗?那我去研究一下。

以上是关于angularfire2:未启用 Cloud Firestore API的主要内容,如果未能解决你的问题,请参考以下文章

在 Firebase Cloud 功能中启用 Cors

在 Google Cloud Platform Console 上启用 Google Ads API 的问题

审核日志未为 Cloud-SQL 生成 DML 语句日志

Cloud Firestore 每次读取定价

Firebase Cloud Functions 访问 Firebase 托管文件

Android:与联网设备建立“Wi-Fi Direct”连接