@ 模拟器/ google
Google OAuth 2.0,OpenID Connect,以及可变的Google工作空间风格表面,用于本地Gmail,Calendar,和Drive流.
部分 模拟 ——为CI和无网络沙盒提供本地出入口替换服务.
安装
npm install @emulators/google
终点
OAuth 和 OIDC
GET /o/oauth2/v2/auth——授权终点POST /oauth2/token- 证券交换GET /oauth2/v2/userinfo获取用户信息GET /.well-known/openid-configuration- OIDC发现文件GET /oauth2/v3/certs—— JSON 网络密钥集(JWKS) 与 RSA 公用密钥用于识别符验证
邮件
GET /gmail/v1/users/:userId/messages—— 列表信件与q, (中文(简体) ),labelIds, (中文(简体) ),maxResults,以及pageTokenGET /gmail/v1/users/:userId/messages/:id——获取消息到full, (中文(简体) ),metadata, (中文(简体) ),minimal,或raw格式GET /gmail/v1/users/:userId/messages/:messageId/attachments/:id——取附件机构POST /gmail/v1/users/:userId/messages/send——从rawMIME 或结构化字段POST /gmail/v1/users/:userId/messages/import— 导入收件箱邮件POST /gmail/v1/users/:userId/messages直接插入信息POST /gmail/v1/users/:userId/messages/:id/modify在一个信件上添加/删除标签POST /gmail/v1/users/:userId/messages/batchModify——在许多信件中添加/移动标签POST /gmail/v1/users/:userId/messages/:id/trash——垃圾信息POST /gmail/v1/users/:userId/messages/:id/untrash—— 未崩溃的消息
草稿
GET /gmail/v1/users/:userId/drafts——名单草稿POST /gmail/v1/users/:userId/drafts- 创建草稿GET /gmail/v1/users/:userId/drafts/:id- 获取草稿PUT /gmail/v1/users/:userId/drafts/:id- 最新草案POST /gmail/v1/users/:userId/drafts/:id/send- 发送草稿DELETE /gmail/v1/users/:userId/drafts/:id- 删除草案
线索
GET /gmail/v1/users/:userId/threads— 列表线索GET /gmail/v1/users/:userId/threads/:id- 得到线程POST /gmail/v1/users/:userId/threads/:id/modify——通过线条添加/移动标签
标签
GET /gmail/v1/users/:userId/labels—列表标签POST /gmail/v1/users/:userId/labels——创建标签PATCH /gmail/v1/users/:userId/labels/:id——更新标签DELETE /gmail/v1/users/:userId/labels/:id删除标签
历史、 监视设置( S)
GET /gmail/v1/users/:userId/history——列表历史POST /gmail/v1/users/:userId/watch建立推动通知POST /gmail/v1/users/:userId/stop- 停止催促通知GET /gmail/v1/users/:userId/settings/filters——列表过滤器POST /gmail/v1/users/:userId/settings/filters——创建过滤器DELETE /gmail/v1/users/:userId/settings/filters/:id删除过滤器GET /gmail/v1/users/:userId/settings/forwardingAddresses- 列表转发地址GET /gmail/v1/users/:userId/settings/sendAs- 列表作为别名发送
日历
GET /discovery/v1/apis/calendar/v3/rest公共日历 v3 REST 发现文件GET /calendar/v3/users/:userId/calendarList— 列表日历GET /calendar/v3/calendars/:calendarId/events- 列表事件POST /calendar/v3/calendars/:calendarId/events——创建事件DELETE /calendar/v3/calendars/:calendarId/events/:eventId— 删除事件POST /calendar/v3/freeBusy——免费/繁忙查询
驱动
GET /drive/v3/files——列表文件GET /drive/v3/files/:fileId——获取文件元数据POST /drive/v3/files——创建文件PATCH /drive/v3/files/:fileId——更新文件元数据PUT /drive/v3/files/:fileId— 更新文件内容POST /upload/drive/v3/files上传文件
认证
标准OAuth 2.0授权代码与RS256签名的OIDC标识符流. 在种子配置中配置客户端 。 该发现文件刊登了RS256和 /oauth2/v3/certs 返回用于验证已签发的ID令牌的RSA公钥.
种子配置
google:
users:
- email: [email protected]
name: Test User
oauth_clients:
- client_id: my-client-id.apps.googleusercontent.com
client_secret: GOCSPX-secret
redirect_uris:
- http://localhost:3000/api/auth/callback/google
labels:
- id: Label_ops
user_email: [email protected]
name: Ops/Review
messages:
- id: msg_welcome
user_email: [email protected]
from: [email protected]
to: [email protected]
subject: Welcome to the Gmail emulator
body_text: You can now test Gmail, Calendar, and Drive flows locally.
label_ids: [INBOX, UNREAD, CATEGORY_UPDATES]
calendars:
- id: primary
user_email: [email protected]
summary: [email protected]
primary: true
time_zone: UTC
calendar_events:
- id: evt_kickoff
user_email: [email protected]
calendar_id: primary
summary: Project Kickoff
start_date_time: 2025-01-10T09:00:00.000Z
end_date_time: 2025-01-10T09:30:00.000Z
drive_items:
- id: drv_docs
user_email: [email protected]
name: Docs
mime_type: application/vnd.google-apps.folder
parent_ids: [root]