通过 "credential" 属性 提供给 initializeApp() 的凭据实现未能获取有效的 Google OAuth2

Credential implementation provided to initializeApp() via the "credential" property failed to fetch a valid Google OAuth2

我有一个使用 firebase-admin sdk 的 NodeJS Firebase 函数。从去年开始,它一直运行良好。在过去 2 周内,日志中开始显示以下错误:

Credential implementation provided to initializeApp() via the "credential" property failed to fetch a valid Google OAuth2 access token with the following error: "Error fetching access token: 404 page not found

会不会是我使用的"firebase-admin": "^7.3.0"版本有问题?

有没有人遇到过同样的问题,您能否就可能的原因提供一些指导?

这看起来像是 NodeJS 的问题,根据 documentation,版本 8 不再受支持。 2020 年 12 月 15 日,在 Firebase CLI 中禁用了向 Node.js 8 运行时部署函数,这很可能是您遇到 404 错误的原因。

要迁移到受支持的较新版本的 NodeJS 运行时,请使用 documentation

另外,我不怀疑你的 firebase-admin 版本有任何问题 7.3.0

我有同样的错误,但我已经在节点 12 上了。此外,功能 运行 好几年了,现在由于这个而崩溃了 :/

唯一对我有用的解决方案是将管理员身份验证从默认更改为显式传递 service-account.json,如文档 https://firebase.google.com/docs/reference/admin/node/admin.credential#cert

中所述

对于部署到 Google Cloud Functions 的人员,要求:

  • 节点 >= 10

初始化:

const functions = require('firebase-functions');
const admin = require('firebase-admin');

admin.initializeApp();