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

如何通过Microsoft Graph API或PowerShell获取Outlook按天配置的工作时间?

关于获取Outlook按天自定义工作时间的解决方案

问题1:能否通过Microsoft Graph API或PowerShell获取按天工作时间?

目前(截至2024年),无法直接通过Microsoft Graph API的mailboxSettings端点或Exchange Online PowerShell的Get-MailboxCalendarConfiguration cmdlet获取按天自定义的工作时间。这两个工具仅能返回统一的工作日起止时间和工作日列表,无法体现不同日期的时间差异。

你当前调用的Graph API:

GET https://graph.microsoft.com/v1.0/me/mailboxSettings

返回的workingHours属性确实只包含全局的startTime和endTime,无法区分每天的设置。

问题2:替代方案

如果需要获取按天的工作时间配置,可以考虑以下几种方案:

  • 基于日历事件解析:让用户在Outlook日历中创建每周重复的“工作时间”事件(设置为「工作中」或「忙碌」状态),然后通过Graph API的/me/events端点查询这类事件,解析重复规则中的每日时间范围。查询时可通过过滤条件精准定位,比如:
    GET https://graph.microsoft.com/v1.0/me/events?$filter=subject eq '工作时间' and isRecurring eq true
    
    解析返回的recurrence和start/end字段即可得到每天的工作时间。
  • 自定义存储系统:在企业场景下,可以搭建内部配置平台,让用户维护按天的工作时间,将数据存储在Azure AD扩展属性、SharePoint列表或企业数据库中,再通过对应的API读取配置。
  • Exchange Web Services (EWS):尽管微软已推荐优先使用Graph API,但EWS的GetUserAvailability操作仍可获取用户按天自定义的工作时间配置。不过需要注意EWS已进入维护阶段,未来可能不再更新。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.14 20:42:15