You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在不公开Google Calendar的前提下实现自有网站对其的读写操作

非公开Google Calendar自有站点受控读写方案

你之前使用API密钥调用日历API的方式本身仅支持访问公开日历资源,这是必须公开日历才能正常调用的核心原因。按以下步骤调整即可在不公开日历的前提下,仅允许你的自有站点完成读写操作:

1. 改用服务账号完成API鉴权

  • 进入Google Cloud Console的IAM与管理模块,创建一个专属的服务账号,生成JSON格式的服务账号密钥文件,该文件仅存储在你的自有后端服务器中,禁止泄露到前端代码
  • 打开Google Calendar的共享设置页,将上述服务账号的邮箱地址添加为共享用户,权限设置为查看和修改所有活动,此时日历无需设为公开,仅该服务账号拥有指定日历的读写权限

2. 所有API请求走自有后端转发

  • 不要在前端直接调用Google Calendar API,所有日历读写请求均由你自有站点的后端服务转发,避免任何鉴权信息暴露到前端
  • 在后端接口中添加请求校验规则,仅允许你的自有站点域名的Referer请求调用日历相关接口,可根据业务需要额外添加签名校验、登录状态校验等规则进一步加固

3. 后端实现日历读写逻辑

  • 后端通过服务账号密钥完成Google Calendar API的鉴权调用,读取事件对应API方法为Events: list,新增事件对应API方法为Events: insert
  • 前端仅需要和你的自有后端接口交互,无需接触Google平台的鉴权信息

可选加固方案

  • 定期轮换服务账号密钥,发现密钥泄露后立即废弃旧密钥生成新密钥
  • 对新增事件的请求内容做校验拦截,避免被恶意调用提交垃圾内容
  • 若日历操作仅开放给你站点的特定用户,可叠加你站点自身的用户权限校验逻辑,进一步缩小操作权限范围

内容的提问来源于stack exchange,提问作者user1088417

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 17:54:00