用途:在本地开发与测试中替代真实 Google 服务,提供 OAuth 2.0 / OpenID Connect 登录模拟,以及 Gmail、Google Calendar、Google Drive 的 REST API 模拟接口,适合测试 Google 登录流程和依赖这些 API 的应用。
主要能力:支持授权码流程、PKCE、ID 令牌(RS256)、OIDC discovery、JWKS、刷新令牌、令牌撤销与用户信息接口;Gmail 覆盖邮件、草稿、会话、标签、历史、设置与过滤器等;Calendar 覆盖日历列表、事件、FreeBusy;Drive 提供文件相关接口。可通过种子配置预置用户、OAuth 客户端、标签、邮件、日历事件和 Drive 文件。OAuth 客户端未配置时接受任意 client_id,配置后对 client_id、client_secret、redirect_uri 严格校验。Workspace 域(hd)声明会根据邮箱域名自动生成,gmail.com 等消费者域名省略该声明。
使用方式:本地监听默认绑定 127.0.0.1,容器或外部机器访问可传 --host 0.0.0.0,并配置 --base-url。命令为 npx emulate --service google,默认端口 http://localhost:4002。也可编程方式创建。应用将 Google 各真实 URL 映射到 $GOOGLE_EMULATOR_URL 下的对应路径,例如授权、令牌、用户信息、discovery、certs、Gmail、Calendar、Drive 等。提供了 google-auth-library、Auth.js/NextAuth.js、Passport.js 的接入示例,以及通过 YAML 种子配置预置数据。
适用场景:本地或 CI 中测试 Google 登录、邮件、日历、云盘相关集成,避免调用真实服务。
限制:资料未提供收费、价格、平台支持等信息的明确说明;部分能力(如推送通知 watch)为 stub;未列出的端点或行为暂未提供。