如何通过Microsoft Graph API获取Microsoft Shifts中的Day Note数据

基于Graph API拉取Microsoft Shifts Day Note的可行实现方案
Microsoft Shifts的Day Note属于团队排班资源下的日程标注类数据,目前有两种成熟的可落地方案:
- 方案1:调用Day Note专属接口直接拉取
官方提供了专门的Day Note查询接口GET /teams/{team-id}/schedule/dayNotes,可按需选择查询范围:- 不带过滤参数调用:直接返回对应团队下所有历史、当前、未来的Day Note全量记录
- 加
$filter参数限定时间范围:比如传入$filter=sharedDateTime ge 2024-05-01T00:00:00Z and sharedDateTime le 2024-05-31T23:59:59Z,可只拉取指定月份的Day Note,降低接口响应耗时和数据处理成本
调用该接口需要提前申请对应权限:应用权限需申请Schedule.Read.All或Schedule.ReadWrite.All,委托权限需申请Schedule.Read或Schedule.ReadWrite。
- 方案2:从排班列表接口附带获取
如果你的业务场景本身就需要拉取每日排班数据,可以直接调用GET /teams/{team-id}/schedule/shifts拉取排班列表,返回结果的每个排班记录中会自动附带对应日期的dayNote字段内容,无需额外发起接口请求,适合排班、Day Note同步拉取的场景,能有效减少接口调用次数。
注意事项:调用所有Schedule类接口前,需要确认目标团队的Shifts排班功能已经正常启用,否则接口会返回404错误。另外Day Note分为全团队可见、仅排班管理人员可见两种权限,接口返回内容会根据调用时的身份权限自动过滤,无权限查看的Day Note不会出现在返回结果中。
内容的提问来源于stack exchange,提问作者John Koso
相关产品推荐
相关产品推荐

