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

如何通过REST API在Office 365 calendar中创建新分类及获取分类列表?

我来帮你理清这个问题——其实Microsoft 365日历的分类(categories)确实可以通过Microsoft Graph API来操作,你之前可能没找对文档入口,下面一步步给你讲清楚:

获取用户现有分类列表

要获取当前用户的所有日历分类,你可以调用Graph API的me/outlook/masterCategories端点,用GET请求:

GET https://graph.microsoft.com/v1.0/me/outlook/masterCategories

响应会返回用户所有的主分类,包含每个分类的ID、名称和颜色,示例响应片段:

{
  "value": [
    {
      "id": "de912e4d-c790-4da9-949c-ccd933aaa0f7",
      "displayName": "重要",
      "color": "preset0"
    },
    {
      "id": "1b9d6bcd-bbfd-4b2d-9b5d-ab8dfbbd4bed",
      "displayName": "个人",
      "color": "preset2"
    }
  ]
}
创建新的分类

如果要创建自定义分类,用POST请求调用同一个端点,请求体里指定分类名称和颜色(颜色必须用微软预定义的枚举值,比如preset0到preset15,对应不同的预设颜色):

POST https://graph.microsoft.com/v1.0/me/outlook/masterCategories
Content-Type: application/json

{
  "displayName": "项目任务",
  "color": "preset5"
}

成功创建后会返回新分类的详细信息,后续就可以在事件中引用这个分类的名称了。

给新事件分配分类(设置展示颜色)

在创建日历事件的时候,只需要在请求体中添加categories字段,传入一个包含分类名称的数组即可,示例请求:

POST https://graph.microsoft.com/v1.0/me/events
Content-Type: application/json

{
  "subject": "项目评审会",
  "start": {
    "dateTime": "2024-06-15T14:00:00",
    "timeZone": "Asia/Shanghai"
  },
  "end": {
    "dateTime": "2024-06-15T15:30:00",
    "timeZone": "Asia/Shanghai"
  },
  "categories": ["项目任务"]
}

这样创建的事件就会自动应用该分类对应的颜色展示。

几个关键注意事项
  • 分类是用户级别的全局资源,不是绑定到某个特定日历的,所以创建后可以在用户所有日历的事件中使用。
  • 颜色不能自定义RGB值,只能使用Graph API提供的preset0到preset15这些预定义颜色枚举,每个枚举对应Office日历里的一种预设颜色。
  • 旧的Office 365 Outlook REST API已经被微软弃用,推荐统一使用Microsoft Graph API,这也是你之前可能找不到相关文档的原因——现在官方的所有操作指南都基于Graph API。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 03:50:57