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

Google Calendar API只读权限配置异常:n8n可增删日历事件

问题描述

我在Google Cloud Console中创建了一个仅授予Google Calendar只读权限的项目,配置的权限范围如下:

非敏感权限范围
.../auth/calendar.calendarlist.readonly - 查看您订阅的Google日历列表
.../auth/calendar.settings.readonly - 查看您的日历设置

敏感权限范围
.../auth/calendar.events.readonly - 查看您所有日历上的事件
.../auth/calendar.readonly - 查看并下载您可访问的任意Google日历内容
.../auth/calendar.calendars.readonly - 查看您有权访问的Google日历的标题、描述、默认时区及其他属性
.../auth/calendar.events.owned.readonly - 查看您拥有的Google日历上的事件

但将应用(n8n)连接到该项目后,它获得了超出预期的更高权限(权限显示应用拥有日历的创建、编辑、删除等权限)。我通过自动化流程确认:n8n能够在我的任意日历上创建和删除事件。

请问我的配置哪里出现了问题?感谢您的帮助!


排查与解决方案

1. 检查n8n连接的权限范围配置

n8n的Google Calendar节点默认可能请求读写权限,不受GCP项目配置直接约束:

  • 打开n8n,进入Connections页面找到对应Google Calendar连接
  • 查看权限范围(Scopes)字段,确认是否包含.../auth/calendar或.../auth/calendar.events这类读写权限
  • 若存在,删除读写权限,替换为你在GCP中配置的只读scope列表,保存后重新完成授权流程

2. 验证GCP OAuth同意屏幕的权限范围

GCP项目的OAuth同意屏幕中可能残留旧的读写权限:

  • 进入Google Cloud Console → 目标项目 → APIs & Services → OAuth consent screen
  • 切换到Scopes标签,检查是否存在读写类Calendar权限(如https://www.googleapis.com/auth/calendar)
  • 删除多余的读写权限,仅保留所需的只读scope,保存后重新在n8n中授权

3. 撤销旧授权令牌并重新授权

已颁发的令牌会保留首次授权时的权限,修改scope后需重置:

  • 在n8n中删除当前Google Calendar连接,重新创建
  • 打开Google账号安全设置 → 第三方应用访问权限,找到n8n应用并撤销访问权限
  • 重新在n8n中完成授权流程

4. 排查Google Workspace全域委派权限(若使用Workspace账号)

如果是Google Workspace用户,管理员可能配置了全域委派权限覆盖项目设置:

  • 联系Workspace管理员,进入Admin Console → Security → API controls → Domain wide delegation
  • 找到对应应用的客户端ID,检查其关联的权限范围
  • 移除读写类Calendar权限,仅保留只读scope

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.12 22:42:40