如何通过Microsoft Graph API获取Shift的Unpaid Break字段值
解决方法
无薪休息(Unpaid Break)字段无需调用其他接口,它就存储在/teams/{teamId}/schedule/shifts接口返回的sharedShift或draftShift属性下的activities数组中。你当前返回的activities为空有两个常见原因:
- 调用接口时未添加正确的请求头
Prefer: return=representation,或使用的Microsoft Graph API版本过低,请确认使用v1.0或最新beta版接口 - 你在Teams界面设置的无薪休息未成功同步,或查询的是未发布的草稿班次,可先检查班次的发布状态
当班次存在无薪休息配置时,activities数组会返回isPaid属性为false的休息类条目,示例如下:
"sharedShift": { "displayName": "Sleep Shift", "notes": null, "startDateTime": "2021-06-15T12:00:00Z", "endDateTime": "2021-06-15T21:00:00Z", "theme": "blue", "activities": [ { "displayName": "Unpaid Break", "startDateTime": "2021-06-15T16:00:00Z", "endDateTime": "2021-06-15T16:30:00Z", "isPaid": false, "code": "Break" } ] }
你只需要遍历activities数组中所有isPaid为false的休息条目,将各条目的时长累加,即可得到界面上显示的总Unpaid Break分钟数。
内容的提问来源于stack exchange,提问作者Rishan-EIT
相关产品推荐
相关产品推荐

