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

2024-02-21

我正在尝试通过私钥和管理员权限使用管理员权限访问 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 控制台获取新的私钥不会改变任何事情。当我尝试连接时,有时需要很长时间才能收到此错误,或者根本不回调。提供的链接也没有帮助,因为它只提供了一些 JS 代码,用于通过前端进行常规访问以使用 google 登录,这根本不是我在这种情况下的用例(我已经尝试过“配置项目”按钮)。

我在这里做错了什么吗?为什么有时它可以工作,尽管没有任何改变,但有时却不起作用?

我很感激任何帮助


此错误与此错误基本相同(由于应用程序/无效凭据错误,无法发送设备推送通知 https://stackoverflow.com/questions/43198549/not-able-to-send-device-push-notification-due-to-app-invalid-credential-error),其中计算机的时钟需要与firebase服务器的时钟同步。

在朋友试图指出这一点之前,我一直试图在各种计算机上测试它(所有计算机都设置了错误的时钟),但无法连接,所以我测试了并且它起作用了。

对我有用的解决方案肯定是检查设置clock https://time.is在电脑上面。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Firestore:代码 16(请求的身份验证凭据无效) 的相关文章

随机推荐

  • 在具有属性的两个表单之间传递数据[重复]

    这个问题在这里已经有答案了 我正在 C 中的 2 个窗口窗体之间传递数据 Form1 是主窗体 其文本框将接收从 form2 textbox 传递给它的文本并将其显示在其文本框 form1 textbox 中 首先 form1 打开 带有一
  • React 测试库 - 在 fireEvent 之后使用“await wait()”

    我正在尝试使用测试库在 fireEvent click 之后检查 DOM 元素 我知道我需要在 fireEvent 之后等待 但不确定为什么简单地使用 wait 不起作用 下面是以两种方式编写的相同测试 第一个失败 第二个通过 我不明白为什
  • .htaccess 将index.php重定向到/

    我想隐藏index php页面并只显示域 htaccess 可以吗 RewriteRule index php L R 301 NC 还尝试过 RewriteEngine On RewriteBase RewriteCond THE REQ
  • 导航抽屉未正确显示

    我正在开发新闻应用程序 并且已经实现了导航抽屉 使用以下link https guides codepath com android fragment navigation drawer但是当我运行代码应用程序时显示空白色 屏幕 在我的 M
  • 附加选项以选择菜单?

    使用 Javascript 如何将选项附加到 HTML 选择菜单 例如
  • 使用任务时如何使用上一个任务的结果继续另一个函数?

    我有 WCF 连接器 它应该为我获取一些少量的数据 通常需要 20 秒才能获取每个项目的数据 这很好 我想使用任务为我获取数据 然后添加具有此任务值的 WinForm 控件 我已经创建了包含这些数据的对象列表 使用第一个任务作为更新列表的任
  • 如何在graphviz中强制Y坐标

    有没有办法在 graphviz 中使用 dot force y 位置 以像素或英寸为单位 The rank same不适合我的情况 The pos x y with Kfdp可能是一种方法 但我想让 GraphViz 确定 X位置 Than
  • 用于过滤项目集合的设计模式?

    想象一下典型的应用程序类型 其中您有一个具有不同属性的项目列表 例如 包含 100 个项目的树视图 每个项目都有一个name a rating a 全球最热门商品排名等等 之间可能也存在多对多的关系items and 项目目录 或之间ite
  • 简单的 Node/Express 应用程序,函数式编程方式(如何处理 JavaScript 中的副作用?)

    有很多关于 JavaScript 函数式编程理论的好文章 有些甚至包含显示命令式 面向对象编程和声明式 函数式编程之间差异的代码示例 但我没有发现任何一个可以通过简单的 JavaScript 代码示例来展示如何处理 Web 应用程序中的副作
  • c中的嵌套结构

    我必须构建一个嵌套结构来存储有关某人的一些基本信息 姓名 年龄 地址 因此 我创建了一个名为 info 的结构 并为了保存地址 我在 info 内创建了另一个名为 address 的嵌套结构 但每当我提示使用 for 循环存储值时 我都会收
  • 升级依赖项后无法解析 ActivityTestRule。无法导入 ActivityTestRule

    我已经编写了工作正常的仪器测试 但现在在将依赖项升级到之后出现错误无法解决 ActivityTestRule 错误 androidTestImplementation com android support test runner 1 0
  • 有关 Swift 中访问“typedef void PaStream;”的正确语法的任何帮助来自 C 文件?

    我编译并导入了一个名为 portaudio 的 dylib C 库 港音网站 http portaudio com 到 Xcode 6 1 Swift 项目中 所有函数 类型都可以访问 除了一个 typedef 无效 PaStream 我无
  • Symfony 1.4 更改管理生成器操作或模板

    如何修改管理员生成的模块 操作和模板 它们存储在缓存中 但我需要修改它们 模板 有可能吗 问候 当然可以 只需将模板文件从缓存复制到相关的module templates后台文件夹中的模板 然后修改 扩展 对于操作 将相同命名的操作添加到m
  • Haskell 中“where”子句在哪里派上用场

    我发现我很少遇到需要使用where条款 然而 我确实发现我过去偶尔会使用它 什么时候是where使用的子句 即在什么情况下使用 什么情况下应该使用它 Haskell Wiki 上也提供了这个问题的两个很好的答案 http haskell o
  • express.js 路由中的全局会话变量?

    当我在express js路线中设置会话时 app get function req res req session foo bar 我无法在其他路线中访问它 未定义 这可能吗 我必须考虑特殊配置吗 thanks 我实际上通过像这样设置会话
  • Firestore云函数递归更新子集合/集合组

    我有这个云功能 import pLimit from p limit const syncNotificationsAvatar async userId string change Change
  • 使用 aws-sdk-go 将对象上传到 AWS S3,而不创建文件

    我正在尝试使用 golang sdk 将对象上传到 AWS S3 而无需在系统中创建文件 尝试仅上传字符串 但我很难做到这一点 谁能给我一个示例 说明如何上传到 AWS S3 而无需创建文件 AWS 如何上传文件的示例 Creates a
  • 修剪和清理 Google 脚本

    我可以用下面的脚本修剪我的爸爸 但是有没有一种方法可以使用类似于 VBA 中的 Clean 的 Google 脚本来清理 Google 中的数据 即删除所有非打印字符 我无法查找并替换从其他来源复制并粘贴到 GS 的数据 Thanks fu
  • 如何在 Yocto 中使用自己的设备树和修改后的内核配置?

    我正在努力用 yocto 构建一个自己的 嵌入式 Linux 它基于 SAMA5D3x MB SAMA5D3x CM RONETIX 和 SAMA5D35 我有两个问题 1 更改设备树 我基于以下内容构建图像 MACHINE sama5d3
  • Firestore:代码 16(请求的身份验证凭据无效)

    我正在尝试通过私钥和管理员权限使用管理员权限访问 Firestore 以便我可以将其用于后端的查询和内容 i import fb admin const firebaseAdmin require firebase admin i init