核心用法
Calendar Bridge 是一个基于 Node.js/Express 的本地服务,运行在 localhost:3000,作为 Google Calendar 的持久化代理层。用户完成一次性浏览器 OAuth 授权后,服务自动存储并刷新令牌,彻底告别「7 天过期重新认证」的烦恼。
典型调用场景:
GET /events?days=7— 查询未来 7 天主日历事件GET /events?calendar=all— 跨所有日历聚合查询GET /calendars— 列出可用日历列表GET /health— 检查服务状态与认证状态
显著优点
1. 令牌持久化:自动 refresh_token 轮换,用户零感知
2. 极简接口:无需处理 Google API 复杂 SDK,纯 HTTP REST
3. 本地化部署:令牌存储在本地 tokens.json,不上传第三方
4. 多日历支持:支持主日历、全部日历或指定日历 ID 查询
潜在局限
- 自托管门槛:需自行维护 Node.js 服务、systemd 进程保活
- 网络依赖:必须能访问 Google OAuth 服务端点
- 单点故障:服务宕机则日历查询中断
- Gmail 用户警告:个人账号会遇到「未验证应用」提示,需手动确认
适合人群
- 需要长期稳定访问 Google Calendar 的自动化工作流用户
- 希望避免反复 OAuth 弹窗的 CLI/脚本开发者
- 对数据隐私敏感、不愿将日历授权给第三方 SaaS 的 self-hosting 爱好者
常规风险
- 令牌泄露风险:
tokens.json若被窃取,攻击者可访问日历数据 - 中间人攻击:HTTP 明文传输,建议配合 SSH 隧道或本地反向代理 HTTPS
- API Key 配置错误:若启用
CALENDAR_BRIDGE_API_KEY但未正确传递,导致 401 调用失败