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

如何通过Microsoft Graph获取指定时间段内的周期性日历事件实例

获取指定时间段日历事件(含周期性实例)的简便方案

直接使用Microsoft Graph的calendarView接口即可一步获取目标时间段内的所有日历事件实例,包括多年前创建的周期性会议的对应实例,无需先筛选系列主项再单独拉取实例。

核心调用方式

使用GET /users/{id | userPrincipalName}/calendar/calendarView接口,通过指定时间范围参数直接展开并返回所有符合条件的事件实例:

GET https://graph.microsoft.com/v1.0/users/{user-id}/calendar/calendarView?startDateTime={起始时间ISO格式}&endDateTime={结束时间ISO格式}

关键参数说明

  • startDateTime/endDateTime:必填,格式为ISO 8601(如2024-04-01T00:00:00Z表示UTC时间4月1日零点),对应你需要查询的时间段(比如过去两周的起始和结束时间)。
  • $select:可选,用来指定需要返回的字段(如subject,start,end,isSeriesMaster),减少冗余数据返回。
  • $top:可选,控制单次返回的事件数量,默认10条,最大可设为50,超出则需要通过@odata.nextLink分页获取。

优势对比

相比你之前先拉取所有事件、筛选系列主项再逐个调用实例接口的方式,calendarView直接完成了:

  1. 自动展开周期性事件的所有符合时间范围的实例
  2. 一次性返回所有单事件和周期性实例
  3. 无需额外多次请求,大幅提升效率

示例请求(过去两周)

假设当前是2024年4月14日,查询过去两周(4月1日-4月14日)的事件:

GET https://graph.microsoft.com/v1.0/users/john.doe@contoso.com/calendar/calendarView?startDateTime=2024-04-01T00:00:00Z&endDateTime=2024-04-14T23:59:59Z&$select=subject,start,end,isSeriesMaster

返回结果中,周期性事件的每个实例都会单独列出,isSeriesMaster字段为false;如果需要关联到系列主项,实例中会包含seriesMasterId字段,可用来获取主项信息(如果需要的话)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 11:14:59