调用Google Calendar API添加事件报403 Insufficient Permission错误如何处理
Google Calendar API 403权限报错排查方案
已配置授权范围仍报错的常见原因
- 代码中实际请求的授权范围与Google Cloud控制台配置不一致:多数场景是控制台新增了可写权限范围,但代码初始化OAuth客户端时仍使用旧的只读范围,或是未将新增的可写范围加入请求列表
- 本地缓存的旧授权凭证未清理:如果之前使用过低权限范围完成过授权,本地保存的refresh token/access token仍仅对应旧的权限,不会自动同步控制台的配置更新
- 授权范围与操作场景不匹配:
.../auth/calendar.events.owned仅支持操作当前授权账号名下的自有日历,如果你需要操作共享日历、团队日历或其他用户共享给你的日历,该范围不生效 - 认证账号无目标日历操作权限:即使授权范围配置正确,当前用于认证的账号本身没有目标日历的编辑权限,也会触发该报错
- 服务账号未完成额外配置:如果使用服务账号模式认证,默认没有权限操作用户个人日历,需要额外配置共享权限或全域委托
需要补充/调整的配置项
- 核对代码中的授权范围列表,确保与Google Cloud控制台配置的范围完全一致,操作非自有日历时优先使用
.../auth/calendar.events或.../auth/calendar范围 - 删除本地缓存的旧token文件/凭证,重新触发OAuth授权流程,确认授权时页面展示的权限包含编辑日历事件的相关选项
- 登录Google Calendar网页端,打开目标日历的设置页面,在「共享权限」模块确认当前认证账号被授予了「编辑事件」及以上权限
- 若使用服务账号认证:
- 普通个人Google账号场景:将服务账号的邮箱地址添加到目标日历的共享用户列表,授予「编辑事件」权限
- Google Workspace企业账号场景:在Workspace管理后台为服务账号开启全域权限委派,绑定已配置的Calendar API授权范围
- 确认Google Cloud控制台中「API和服务」板块下的Google Calendar API处于已启用状态
内容的提问来源于stack exchange,提问作者user2251805
相关产品推荐
相关产品推荐

