Firestore:代码 16(请求具有无效的身份验证凭据)

Firestore: code 16 (Request had invalid authentication credentials)

我正在尝试通过私钥和管理员权限以管理员权限访问 Firestore,这样我就可以将它用于后端的查询和内容。

//i import fb-admin
const firebaseAdmin = require('firebase-admin')

//i initialize as admin with a valid credential
firebaseAdmin.initializeApp({
  credential: firebaseAdmin.credential.cert('./pathto/myprivatekeyinfo.json')
})

//i initialize firestore
var dba = firebaseAdmin.firestore()

//i test the connection by listing all the available collections
dba.getCollections().then(collectionList => {
  collectionList.forEach(collection => {
    console.log(collection.id) //print available collections
  }
},error => console.error(JSON.stringify(error,null,"  "))) //print error

这看起来与文档中的说明完全一样,但我的问题是,对于我尝试在其中执行 Node 的某些计算机,我只能设法随机连接一些。

有时我会连接并且一切正常,按应有的方式打印可用的集合,但大多数时候我得到的只是无效凭据的错误

{
  "code": 16,
  "metadata": {
    "_internal_repr": {
      "www-authenticate": [
        "Bearer realm=\"https://accounts.google.com/\""
      ]
    }
  },
  "details": "Request had invalid authentication credentials. Expected OAuth 2 access token, login cookie or other valid authentication credential. See https://developers.google.com/identity/sign-in/web/devconsole-project.",
  "note": "Exception occurred in retry method that was not classified as transient"
}

我试过不做任何改变,它有时在我测试完全相同代码的某些计算机上工作,但在其他计算机上却没有,并且尝试通过 firebase 控制台获取新的私钥在事情。当我尝试连接时,有时需要很长时间才能收到此错误,或者根本不回叫。提供的 link 也没有帮助,因为它只提供一些 JS 代码,以便通过前端定期访问以使用 google 登录,这在这种情况下根本不是我的用例(我'我也试过 "configure a project" 按钮。

我真的做错了什么吗?为什么它有时没有改变但有时会起作用而有时却不起作用?

感谢任何帮助

这个错误和这个(Not able to send device push notification due to app/invalid-credential error)基本一样,需要把电脑的时钟同步到firebase服务器的时钟。

在朋友试图指出这一点之前,我一直在尝试在各种计算机(所有计算机都设置了错误的时钟)上进行测试,但无法连接,因此我进行了测试并且成功了。

对我有用的解决方案肯定是检查计算机上的设置 clock