在Object.exports.createStatusError处收到状态为403的http2标头

时间:2018-07-28 19:40:57

标签: node.js firebase google-cloud-firestore

我正在尝试将一些数据添加到 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)

2 个答案:

答案 0 :(得分:1)

403是授权错误-表示您的凭据正确,但是不允许执行命令/操作。 您应该在火基上授权ID,然后重试。

答案 1 :(得分:0)

这是互联网问题,原因是伊朗阻止了Google Firebase的使用,并且无法使用Google Firebase的某些功能,这意味着我们需要VPN来传递此阻止。

首先,我使用代理服务器,但是没有用,但是当我使用vpn时,数据被发送到了我的Firestore项目。