我正在学习在我的项目中实现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配置中使用该密钥不起作用。如果有人知道任何事情会很棒。我会继续尝试,让你知道我是否也能让它运作起来。
让其他人知道它在firebase控制台中的位置:
选择您的项目,然后单击Database并将下拉列表从“Realtime Database”更改为“Cloud Firestore”
感谢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很困难
我遇到了同样的问题,我已经修好了:
去:
https://console.firebase.google.com/u/1/project/**ProjectID**/database/firestore/rules
并将规则更改为:
service cloud.firestore {
match /databases/{database}/documents {
match /{document=**} {
allow read, write;
}
}
}