如何在没有AngularFire的Ionic上使用Google Cloud Firestore

问题描述 投票:0回答:1

我想知道是否有任何方法可以在不使用angularfire的情况下在Ionic中实现firestore,也就是说,因为关于firebase和firestore的google文档对我来说更容易。首先我安装库

npm install --save firebase-admin@^5.4.0

然后将它们导入app.module

import * as admin from 'firebase-admin'

但是当我尝试初始化时

admin.initializeApp({
  credential: admin.credential.cert({
    projectId: "<PROJECT_ID>",
    clientEmail: "foo@<PROJECT_ID>.iam.gserviceaccount.com",
    privateKey: "-----BEGIN PRIVATE KEY-----\n<KEY>\n-----END PRIVATE KEY-----\n"
  }),
  databaseURL: "https://<DATABASE_NAME>.firebaseio.com"
});

出现了很多错误,我真的不知道正确的方法来初始化它。

angular firebase ionic-framework google-cloud-firestore
1个回答
0
投票

documentation for the Firebase Admin SDK的第一行说(强调我的):

Admin SDK允许您从特权环境与Firebase进行交互...

这意味着您不应在Angular(或其他)应用程序的前端使用Firebase Admin SDK。使用前端的Admin SDK可以让所有用户例如:创建无限的用户帐户或删除它们,擦除整个数据库,向应用的所有用户发送FCM通知等。

而是install the regular Firebase SDK for JavaScript。从该文件:

Firebase SDK也可在npm上使用。如果您还没有package.json文件,请通过npm init创建一个。接下来,安装firebase npm包并将其保存到package.json

$ npm install firebase --save

要在您的应用程序中使用该模块,请从任何JavaScript文件中获取该模块:

var firebase = require("firebase");

如果您使用的是ES2015,则可以导入模块:

import * as firebase from "firebase";

然后,使用上面的代码段初始化Firebase SDK,它应如下所示:

// Initialize Firebase
// TODO: Replace with your project's customized code snippet
var config = {
  apiKey: "<API_KEY>",
  authDomain: "<PROJECT_ID>.firebaseapp.com",
  databaseURL: "https://<DATABASE_NAME>.firebaseio.com",
  storageBucket: "<BUCKET>.appspot.com",
};
firebase.initializeApp(config);

如果此后仍有错误,请使用您尝试的代码和您收到的错误消息打开一个新问题。

© www.soinside.com 2019 - 2024. All rights reserved.