angularfire2:未启用Cloud Firestore API

问题描述 投票:2回答:3

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

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

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

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

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

错误错误:未为项目启用Cloud Firestore API

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

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

现在离开我的错误

错误错误:权限丢失或不足

我现在的问题是我可以设置API密钥(但也从我的firebase控制台获得了不同的API密钥?)和OAuths,但我不知道如何实现这些是我的代码。只是简单地生成一个API密钥并在environment.firebase配置中使用该密钥不起作用。如果有人知道任何事情会很棒。我会继续尝试,让你知道我是否也能让它运作起来。

angularjs node.js firebase angularfire2 google-cloud-firestore
3个回答
6
投票

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

选择您的项目,然后单击Database并将下拉列表从“Realtime Database”更改为“Cloud Firestore”


1
投票

感谢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很困难


1
投票

我遇到了同样的问题,我已经修好了:

去:

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

并将规则更改为:

service cloud.firestore {
  match /databases/{database}/documents {
    match /{document=**} {
      allow read, write;
    }
  }
}
© www.soinside.com 2019 - 2024. All rights reserved.