我正在尝试将一些数据添加到 firebase firestore 。
但是我得到以下错误堆栈:
(node:5448) UnhandledPromiseRejectionWarning: Error: 1 CANCELLED: Received http2 header with status: 403
at Object.exports.createStatusError ([...]\Back-end\node_modules\grpc\src\common.js:87:15)
at Object.onReceiveStatus ([...]\Back-end\node_modules\grpc\src\client_interceptors.js:1188:28)
at InterceptingListener._callNext ([...]\Back-end\node_modules\grpc\src\client_interceptors.js:564:42)
at InterceptingListener.onReceiveStatus ([...]\Back-end\node_modules\grpc\src\client_interceptors.js:614:8)
at callback ([...]\Back-end\node_modules\grpc\src\client_interceptors.js:841:24)
这是我的代码:
var express = require('express')
var app = express();
var port = process.env.PORT || 3000
app.use(express.static(__dirname));
const admin = require('firebase-admin');
const serviceAccount = require('./test-project-xxx-firebase-adminsdk-xxxx-xxxxx.json');
admin.initializeApp({
credential: admin.credential.cert(serviceAccount),
databaseURL: "https://xxx-xxxx-xxxxx.firebaseio.com"
});
app.get("/b", (req, res) => {
const db = admin.firestore();
var cityRef = db.collection('cities').doc('BJ').set({
capital: "sd"});
console.log(cityRef)
})
app.listen(port)
答案 0 :(得分:1)
403是授权错误-表示您的凭据正确,但是不允许执行命令/操作。 您应该在火基上授权ID,然后重试。
答案 1 :(得分:0)
这是互联网问题,原因是伊朗阻止了Google Firebase的使用,并且无法使用Google Firebase的某些功能,这意味着我们需要VPN来传递此阻止。
首先,我使用代理服务器,但是没有用,但是当我使用vpn时,数据被发送到了我的Firestore项目。