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

Google Calendar API共享日历访问范围问题:无法获取共享日历事件

解决Google Calendar共享日历events/list接口404权限问题

核心权限范围配置

要访问用户可访问的所有日历(包括共享日历),必须使用正确的OAuth权限范围:

  • 仅需读取事件时,用https://www.googleapis.com/auth/calendar.readonly
  • 需要读写事件时,用https://www.googleapis.com/auth/calendar

这两个权限的授权界面会显示「查看你的所有日历」或「查看和编辑你的日历」,而非「你拥有的日历」。之前添加权限后授权界面未更新,是因为旧的授权缓存未清除——Google会保留用户之前的授权状态,不会自动应用新的权限范围。

关键排查步骤

  • 强制重新授权:让测试用户在Google账号的「安全」→「第三方应用访问」中撤销你的应用权限,再重新发起OAuth授权流程,确保新权限生效。
  • 验证日历访问权限:调用Calendar List接口时,检查目标共享日历的accessRole字段:
    • 若为reader或writer:具备事件读取/编辑权限
    • 若为freeBusyReader:仅能查看忙闲状态,无法获取事件详情
  • 核对日历ID与调用参数:确保events/list接口的calendarId参数完全匹配Calendar List返回的ID(共享日历ID多为xxx@group.calendar.google.com格式),无拼写错误或多余字符。
  • 排查API调用格式:确认请求URL格式正确,示例:
    GET https://www.googleapis.com/calendar/v3/calendars/{calendarId}/events
    

错误说明

你收到的404存在误导性——当OAuth权限不足时,Google Calendar API有时会返回404而非明确的403权限错误,这也是官方工具能正常访问的原因:它使用了覆盖所有日历的权限范围。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 12:10:17