ListCalendarEvents¶
列出用户在两个时间点之间的日历事件,涵盖其已连接的所有日历。每次发生返回一个条目(重复事件在窗口内每个实例出现一次),按时间最早排列,带有 UpdateCalendarEvent 和 DeleteCalendarEvent 所需的 eventId。
使用此工具回答有关用户日程的问题(“我明天的日历上有什么?”)、查找用户想要更改或删除的事件,以及在创建事件前检查冲突。窗口应尽量与请求允许的范围保持一致——一天或一周——因为较宽的窗口会在 200 个实例处截断。窗口必须最多为 370 天,且在过去一年到未来两年之间。如果 syncStatus 为 syncing,请告知用户结果可能仍不完整。
每个条目都指明持有该事件副本的日历(calendarName)和已连接的收件箱(inbox),并且 myRole 表示用户是组织者还是来宾。同一会议出现在用户的多个收件箱中时,每个收件箱会出现一次,各自带有自己的 eventId,用户可执行的操作也可能彼此不同。当询问用户指的是哪一个时,请通过其收件箱和角色来描述每个条目,绝不要用 id;当用户指定一个收件箱时,操作 inbox 匹配的条目。
当用户未指定收件箱时,根据变更的作用来选择副本。提醒仅属于一个副本,因此直接在一个副本上设置,无需询问,并说明你使用了哪个收件箱。在用户是来宾的副本上回复邀请;如果用户通过多个收件箱成为来宾,请询问由哪个收件箱回复,因为每个收件箱只能代表自己回复。任何其他变更从每个副本对会议的影响不同:标题、时间、描述、地点、重复或会议设置、添加或移除来宾、来宾权限以及删除。UpdateCalendarEvent 和 DeleteCalendarEvent 会拒绝在由用户的多个收件箱持有的会议上执行此类变更,直到 inbox 指定被变更副本所在的收件箱,并且拒绝时会列出每个副本。如果只有一个副本允许该变更(viewerCan,或对于删除,isReadOnly 为 false),则使用该副本及其 inbox,并说明原因(例如,只有用户组织的副本才能移动会议)。如果可以的有多个,请询问哪个收件箱,并说明从每个收件箱执行该变更会有什么效果;绝不要自行在用户的收件箱之间做出选择,无论它们看起来如何。当存在用户组织的副本时,从该副本添加来宾:它会直接邀请来宾,而来宾副本只能按组织者允许的范围邀请。删除组织者的副本会为所有人取消会议,而删除来宾的副本会将该会议从该收件箱的日历中移除,并且在 Google 上还会拒绝邀请并告知组织者。
参数¶
| 参数 | 类型 | 必填 | 描述 |
|---|---|---|---|
start |
string | 是 | 包含的窗口起始时间,RFC 3339 UTC(例如 2026-08-20T00:00:00Z)。 |
end |
string | 是 | 不包含的窗口结束时间,RFC 3339 UTC。必须晚于 start。 |
本页原文 Markdown:在 AtomGit 查看·内容源自开源项目 macro3/macro