【发布时间】:2018-10-20 20:49:47
【问题描述】:
问题
我在 AppEngine 上托管了一个用 Kotlin 编写的应用程序,并且遇到了来自 Google 的关于对在服务器上运行的 Firestore 进行身份验证的重叠文档。 两种实现都在 AppEngine 上按预期运行。一种实现是否有优势,是否有单独的用例,或者这纯粹是重复?
Firebase's documentation
在你自己的服务器上初始化 要在您自己的服务器上使用 Firebase Admin SDK,请使用服务帐号。
在 Cloud Platform Console 中转到 IAM 和管理 > 服务帐号。生成新的私钥并保存 JSON 文件。然后使用该文件初始化SDK:
import com.google.auth.oauth2.GoogleCredentials;
import com.google.cloud.firestore.Firestore;
import com.google.firebase.FirebaseApp;
import com.google.firebase.FirebaseOptions;
// Use a service account
InputStream serviceAccount = new FileInputStream("path/to/serviceAccount.json");
GoogleCredentials credentials = GoogleCredentials.fromStream(serviceAccount);
FirebaseOptions options = new FirebaseOptions.Builder()
.setCredentials(credentials)
.build();
FirebaseApp.initializeApp(options);
Firestore db = FirestoreClient.getFirestore();
Google Cloud's documentation
将服务器客户端库添加到您的应用中
使用 Gradle:
compile 'com.google.cloud:google-cloud-firestore:0.58.0-beta'初始化 Cloud Firestore
import com.google.cloud.firestore.Firestore;
import com.google.cloud.firestore.FirestoreOptions;
FirestoreOptions firestoreOptions =
FirestoreOptions.getDefaultInstance().toBuilder()
.setProjectId(projectId)
.build();
Firestore db = firestoreOptions.getService();
【问题讨论】:
-
Firebase Admin SDK(它为许多不同的产品捆绑了 SDK)只是 Google Cloud Firestore SDK 的一个包装器。选择最适合您的情况。
-
听起来像是道格的回答。 :-)
标签: java firebase google-app-engine google-cloud-firestore