【发布时间】:2020-06-21 09:52:29
【问题描述】:
我正在尝试通过首先使用 Firebase Auth SDK 以管理员帐户登录来更新 Firebase 文档。
接下来,我使用 Firestore SDK 从该计划中提取所需数据的不同部分。
然后将他们推回新计划。所以它本质上是在重复计划。
我以前的做法是在 HTML 底部的自调用函数中,然后从他们的 CDN 加载 SDK。
设置说明和 CDN 链接:https://firebase.google.com/docs/web/setup
如果你尝试这样做
const firebaseConfig = {
apiKey: 'api-key',
authDomain: 'project-id.firebaseapp.com',
projectId: 'project-id',
}
firebase.initializeApp(firebaseConfig);
var db = firebase.firestore();
db.collection("users").get().then((querySnapshot) => {
querySnapshot.forEach((doc) => {
// console.log(`${doc.othre} => ${doc.data()}`);
console.log(doc);
});
})
我收到以下错误
未捕获(承诺)FirebaseError:权限缺失或不足。
【问题讨论】:
-
此错误消息表明您的安全规则存在问题。请参阅此处的文档:firebase.google.com/docs/firestore/security/overview。您可以将您的安全规则添加到您的问题中。
-
谢谢@RenaudTarnec,我知道如果我改变规则我可以这样做,但是我想按照我的大学向我解释的方式去做。问候
-
好的,我明白了。你打算从哪里执行这段代码?正如doc 中所述,“Admin SDK 允许您从特权环境”(如服务器)而不是客户端前端与 Firebase 交互。
-
是的,这正是我的观点@RenaudTarnec,谢谢,我现在应该怎么做?请帮忙
-
如果您想从服务器使用 Admin SDK,请查看文档表单或详细信息,特别是 firebase.google.com/docs/admin/setup#prerequisites。如果您没有服务器,则意味着您将需要制定不同的方法。为了让我们帮助您,我们需要更多关于您的确切目标的详细信息。
标签: javascript firebase google-cloud-firestore firebase-admin