firebase - 为什么我的服务帐号无法远程访问 Google Cloud Firestore?
问题描述
所以我按照这里的说明操作:
https ://firebase.google.com/docs/firestore/quickstart
让我的 Node 应用程序与 Firestore 一起工作(在Initialize on your own server下)。我像他们说的那样创建了一个服务帐户,赋予它“Cloud Firestore Editor”权限并下载了.json
密钥文件。当我像这样运行示例代码时:
const admin = require('firebase-admin');
const serviceAccount = require('./gcloud-service-account.json')
admin.initializeApp({
credential: admin.credential.cert(serviceAccount)
});
var db = admin.firestore();
db.settings({ timestampsInSnapshots: true })
var docRef = db.collection('users').doc('alovelace');
var setAda = docRef.set({
first: 'Ada',
last: 'Lovelace',
born: 1815
});
我收到此错误:
UnhandledPromiseRejectionWarning: Error: 7 PERMISSION_DENIED: Missing or insufficient permissions.
我做错了什么,或者我可以采取哪些步骤来调试它?谢谢!
解决方案
没关系....这是我缺少的服务帐户创建的最后一步-出于某种原因,您必须授予用户对其自身的访问权限,因此将新创建的帐户名称放在“授予用户”框中。希望对某人有所帮助。
推荐阅读
- javascript - 使用 JavaScript 的“隐形墨水”文本效果
- flutter - Flutter bloc 小吃店和屈服状态两次
- node.js - 在文件中记录流式 websocket
- mysql - Cube JS中的左外连接
- php - Wordpress Posttype 功能
- c++ - 当需要完整类型时,C++ 中模板的循环引用
- reactjs - Commerce JS API 拒绝我的测试交易
- c++ - 简单的顺序 std::iota 比并行等效更快
- java - 在 spring-boot:run 期间启动 MockServer
- ruby - gem install puma -v '4.3.7' 在 Mac OS Big Sur Ruby 2.6.3 Bundler 版本 2.2.19 上失败