后端【免费下载链接】google-api-nodejs-clientGoogles officially supported Node.js client library for accessing Google APIs. Support for authorization and authentication with OAuth 2.0, API Keys and JWT (Service Tokens) is included.项目地址https://gitcode.com/gh_mirrors/go/google-api-nodejs-client点击查看免费下载导读本文以仓库中 identitytoolkit 的 CHANGELOG 为唯一主线完整梳理googleapis/identitytoolkit从首个版本到当前版本的演进历程包括 94 个发布版本的时间线、三类变更BREAKING CHANGES / Features / Bug Fixes的实质含义、Node.js 运行时要求的两次跃迁Node 12 → Node 18 → Node 22并逐项对照 v3.ts 与 v2.ts 的源码结构帮助开发者理解生成式维护下子包发布节奏以及在升级时如何预判破坏性变更与兼容性风险。一、先读懂这份 CHANGELOG它记录了什么src/apis/identitytoolkit/CHANGELOG.md 采用 release-please 自动生成的 keep-a-changelog 风格按时间倒序记录了 Google Identity Toolkit 模块自 2021 年 3 月0.1.0 / 0.2.0至 2026 年 9 月24.0.1共94 个版本条目。每个条目包含三类信息版本号与对比链接如24.0.1链接指向相邻版本间的差异变更分类BREAKING CHANGES破坏性变更、Features新功能、Bug Fixes缺陷修复提交引用每个变更都挂接一个具体 commit hash例如1038bf9、4e5bae0等可用于追溯单次改动的完整 diff。与根仓库主版本当前 package.json 中googleapis主包版本为 185.0.0不同identitytoolkit 是 monorepo 中独立发布、独立计版的子包。这一点可以从 release-please-config.json 中看到src/apis/identitytoolkit被单独列为发布单元与其它数百个 API 子包平级。二、模块在仓库中的落点从入口到实现在写作本文所依据的源码中identitytoolkit 模块位于 src/apis/identitytoolkit/包含以下关键文件文件作用index.ts模块入口注册 v2 / v3 两个版本并导出identitytoolkit()工厂函数v3.tsv3 版本实现全部围绕relyingparty资源展开共约 4800 行v2.tsv2 版本实现提供accounts、projects、tenants等多级资源package.json子包元数据当前版本 24.0.1engines.node 22.0.0README.md安装与使用入口说明webpack.config.js、tsconfig.json打包与编译配置从 index.ts 可以看到版本注册的核心逻辑export const VERSIONS { v2: identitytoolkit_v2.Identitytoolkit, v3: identitytoolkit_v3.Identitytoolkit, }; // ... export function identitytoolkit(versionOrOptions) { return getAPIT(identitytoolkit, versionOrOptions, VERSIONS, this); }这意味着调用方既可以用google.identitytoolkit(v3)按版本号获取实例也可以传入携带version字段的 Options 对象如{version: v2, auth: ...}。CHANGELOG 中大量update the API类提交本质上是重新运行代码生成器后对这两个生成文件的整体刷新因此版本的跃升往往伴随着方法集合或请求/响应 Schema 的增减。三、版本演进时间线四个阶段的主题变化对照 CHANGELOG 的全部条目可以清晰划分出四个阶段阶段一2021-03 ~ 2022-080.x 起步与 1.0 稳定0.2.02021-03-18首个可追溯的功能里程碑随主库新增workload identity federation 支持PR #2517commita10707c同时将googleapis-common升级到 v5、webpack 从 4 升级到 50.3.02021-09-14继续更新 API 并升级依赖1.0.02022-08-20通过run the generatorPR #3044完成首个正式 1.x 发布代表该子包 API 表面趋于稳定。阶段二2022-08 ~ 2024-062.x 到 11.x 的功能密集期这一阶段以update the API为主线伴随若干次破坏性升级2.0.02022-10-28build: run the generator (submodules now require Node 12)PR #3073——生成器要求子包最低支持 Node 122.1.0 → 6.3.02022-12 ~ 2023-10几乎每月跟随上游 discovery 文档更新代表性提交有455e253、72c533b、a7340e2、231f5a0、cee02ed、9daa895、f15458e等期间 6.3.0 将googleapis-common升级到 v78.0.02023-11-30identitytoolkit: This release has breaking changesAPI 契约再次调整11.0.02024-06-21更新 API 并伴随 breaking changes。阶段三2024-06 ~ 2025-1211.1 到 19.0Node 18 成为门槛11.1.02025-02-04更新 APIcommitecb87ee这也是该版本区间最后一次纯功能更新15.0.0 / 14.0.0 / 13.0.0 / 12.0.02025-03 ~ 2025-04连续四个 major 版本都标注identitytoolkit: This release has breaking changes对应同一批 API 更新提交150260b、ecb87ee说明上游 API 变更被分批合入17.0.02025-06-30upgrade to node 18commit682fbb8——运行时最低要求从 Node 12 跃升至 Node 18同时依赖googleapis-common 8.0.2-rc18.0.02025-09-16upgrade googleapis-common to 8.0.0PR #3731将公共依赖从 RC 正式化19.0.12025-12-05identitytoolkit: update the APIcommit73005d8。阶段四2026-08 ~ 2026-0920.x 到 24.xNode 22 的反复与定案20.0.02026-08-03breaking changes run the generatorPR #395520.1.02026-09-02run the generatorPR #3992并升级依赖到 Node 2221.0.0 / 22.0.02026-09-09 ~ 2026-09-10Update apiary to minimum Node version of 22PR #4011同时伴随add back support for node 18的兼容回退23.0.02026-09-10再次提升到 Node 22 最低要求并补充run the generator24.0.02026-09-14Update apiary to minimum Node version of 22 again - all packagesPR #4020即最终敲定所有子包最低 Node 2224.0.12026-09-23identitytoolkit: update the APIcommit1038bf9即当前仓库中的最新版本。四、三类变更条目的实质生成式维护的三个侧面观察整份 CHANGELOG 会发现绝大多数提交都归属于少数几个固定动作。这是由 google-api-nodejs-client 的由 discovery 文档 代码生成器驱动的维护模式决定的可以从源码得到佐证所有 API 文件头部都标注/*! THIS FILE IS AUTO-GENERATED */见 v3.ts 与 index.ts。4.1 BREAKING CHANGES为什么如此频繁CHANGELOG 中带⚠ BREAKING CHANGES的版本占多数其来源主要有两类上游 API 契约变化identitytoolkit: This release has breaking changes/**identitytoolkit:** update the API即 Google 侧对 Identity Toolkit REST API 的字段、枚举或端点做了不兼容修改生成后的 TypeScript 接口Schema 与参数类型随之改变运行时与依赖门槛变化如Update apiary to minimum Node version of 22、upgrade to node 18、upgrade googleapis-common to 8.0.0这类变更虽不改变 API 调用方式但会改变安装环境要求因此同样被标记为 breaking。4.2 Featuresrun the generator与update the API的差别run the generator指重新执行代码生成器将 discovery 文档全量刷新到 TS 源码通常在 PR 层面涉及全部子包如 #3044、#3456、#3955**identitytoolkit:** update the API仅针对 identitytoolkit 这一个 API 的 discovery 文档更新是更聚焦、更常见的增量动作。两者最终都落到 v2.ts 与 v3.ts 的接口变更上。以 v3 为例v3.ts 中Resource$Relyingparty当前共提供约 20 个方法包括createAuthUri、deleteAccount、downloadAccount、emailLinkSignin、getAccountInfo、getOobConfirmationCode、getProjectConfig、getPublicKeys、getRecaptchaParam、resetPassword、sendVerificationCode、setAccountInfo、setProjectConfig、signOutUser、signupNewUser、uploadAccount、verifyAssertion、verifyCustomToken、verifyPassword、verifyPhoneNumber——每次update the API都可能增减或调整其中任一方法及其 Schema。4.3 Bug Fixes两类主要修复API 文档同步**identitytoolkit:** update the API同时也会作为 Bug Fixes 出现例如 9.0.1、10.0.0 中的99534fb说明上游 schema 的纠偏同样按修复语义发布依赖升级update dependency googleapis-common to v76.3.0、upgrade googleapis-common to 8.0.017.0.2、upgrade dependencies in generated packages to Node 2220.1.0等保证子包与公共层传输、认证、API 请求构造保持兼容。五、Node.js 运行时要求的演进升级者的第一道门槛这是 CHANGELOG 中最具实操价值的信号线整理如下版本时间运行时要求变更出处提交2.0.02022-10-28子模块最低 Node 12eda0707#307317.0.02025-06-30最低 Node 18682fbb820.1.0 ~ 22.0.02026-09最低 Node 22含短暂add back support for node 18回退de9d20d、ec5a6bf、eccac1d24.0.02026-09-14再次统一最低 Node 22all packages4e5bae0#4020当前 identitytoolkit 的 package.json 中engines.node为22.0.0与 CHANGELOG 最终状态一致。升级到 21.0.0 及以上版本前请先确认 CI/部署环境的 Node 版本若仍在 Node 18 上运行需停留在 20.1.1 或更早版本该版本明确保留了 Node 18 兼容补丁eccac1d。六、版本号背后的 API 能力以源码佐证 CHANGELOGCHANGELOG 本身不描述功能细节但它提到的每次更新都反映在生成代码中。以下两处可以快速验证6.1 v3relyingparty 单资源模型从 discovery/identitytoolkit-v3.json 可见 v3 的basePath为/identitytoolkit/v3/relyingparty/支持的 OAuth 2.0 scope 有两个https://www.googleapis.com/auth/cloud-platformhttps://www.googleapis.com/auth/firebasev3.ts 中的Identitytoolkit类只挂载relyingparty一个资源所有认证/账户操作都以identitytoolkit.relyingparty.xxx()形式调用。例如 v3 中密码登录的核心调用const identitytoolkit google.identitytoolkit(v3); const res await identitytoolkit.relyingparty.verifyPassword({ requestBody: { email: userexample.com, password: ******, returnSecureToken: true, }, });对应源码位于 v3.ts 的 verifyPassword 方法最终请求路径为POST /identitytoolkit/v3/relyingparty/verifyPassword。类似地signupNewUserL3783与verifyAssertionL4138分别对应注册与第三方联合登录断言校验。6.2 v2面向 Identity Platform 的多级资源模型v2 是另一个独立 API surfaceIdentity Platform风格从 v2.ts 的资源类定义如Resource$Accounts位于 L1809、Resource$Projects位于 L2989、Resource$Projects$Tenants位于 L6101、Resource$Projects$Oauthidpconfigs位于 L5248可以看出v2 面向多租户、IdP 配置、MFA 等企业级场景路径形如/v2/projects/{project}/...。CHANGELOG 中 2023 年起的多次 API 更新主要就是在同步 v2 侧新增的租户与 IdP 配置能力。七、升级与排查实践建议结合 CHANGELOG 的变更分类与源码结构给出四条可落地的操作建议升级前先对照 breaking 标记凡是带⚠ BREAKING CHANGES的版本如 8.0.0、12.0.0~15.0.0、20.0.0重点检查自己是否用到被变更的方法或 Schema 字段。可先查看 v3.ts / v2.ts 中对应方法的参数类型是否变化再决定是否升级。锁定 Node 版本再选版本号Node 18 环境请停在20.1.1Node 20 与 22 环境可直接采用 21.0.0~24.0.1。以 package.json 的engines字段为准做最终校验。善用generator类提交定位全量刷新如果发现接口行为与文档不符优先怀疑run the generator类提交可在 CHANGELOG 中检索 PR 号 #3456、#3955、#4011、#4020因为它们可能一次性改变了整个子包的生成结果。隔离依赖升级的影响googleapis-common从 v5 → v7 → v8.0.0 的升级会影响所有子包。升级 identitytoolkit 时确保googleapis-common与其匹配当前为^9.0.0见 package.json。八、结语identitytoolkit 的 CHANGELOG 表面上是 94 条版本流水账实质上完整记录了 Google Identity Toolkit 客户端在四年半内经历的三条主线API 契约随上游持续刷新、Node.js 运行时门槛从 12 逐步抬升到 22、公共依赖googleapis-common的三代演进。理解这三条主线再配合 v3.ts、v2.ts 与 package.json 做交叉验证就能在每次版本升级时准确预判风险点避免被breaking changes打个措手不及。赞分享后端【免费下载链接】google-api-nodejs-clientGoogles officially supported Node.js client library for accessing Google APIs. Support for authorization and authentication with OAuth 2.0, API Keys and JWT (Service Tokens) is included.项目地址https://gitcode.com/gh_mirrors/go/google-api-nodejs-client点击查看免费下载相关推荐google-api-nodejs-client chromepolicy 子包演进全解析从 0.1.0 到 18.0.1 的版本变更指南google api nodejs client chromepolicy 子包演进全解析从 0.1.0 到 18.0.1 的版本变更指南 本文以 src/a后端从 0.1.0 到 9.0.1google-api-nodejs-client 中 googleapis/airquality 包的版本演进与源码解读从 0.1.0 到 9.0.1google api nodejs client 中 googleapis/airquality 包的版本演进与源码解读 导读后端google-api-nodejs-client 之 googleapis/cloudcontrolspartner 版本演进全解析从 0.1.0 到 9.0.1 的变更历史与实战指南google api nodejs client 之 googleapis/cloudcontrolspartner 版本演进全解析从 0.1.0 到 9.后端上一篇5分钟快速上手罗技鼠标宏助你轻松掌控PUBG武器后坐力下一篇WechatDecrypt3分钟搞定微信聊天记录解密的终极指南 创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
阅读完成 · 觉得有帮助?