如何通过MS Graph移除Outlook日历事件的所有分类?
如何通过MS Graph移除Outlook日历事件的所有分类
问题场景
现有一个已分配「Foo」分类的Office 365 Outlook日历事件,需要通过MS Graph将其修改为无任何分类。尝试过以下操作但未成功:
- 将
categories设为空数组[]或含空字符串的数组[""]:请求无报错,但分类未被移除 - 将
categories设为null或[null]:请求直接返回错误
官方「Update event」文档未明确说明移除分类的操作方法。
可行解决方案
可以通过JSON Patch格式的PATCH请求强制替换categories字段为空数组,具体操作如下:
请求示例
PATCH https://graph.microsoft.com/v1.0/me/calendar/events/<事件ID> Content-Type: application/json-patch+json [ { "op": "replace", "path": "/categories", "value": [] } ]
说明
使用application/json-patch+json作为请求头的Content-Type,并通过replace操作显式指定将/categories路径下的值替换为空数组,这种方式会强制覆盖原有的分类设置,从而彻底移除事件的所有分类。
如果坚持使用普通JSON格式的PATCH请求,需要确保请求体中仅包含categories字段(避免其他无关字段干扰),同时确认请求头Content-Type为application/json,部分场景下这种方式也能生效,但JSON Patch的方式兼容性更稳定。
内容的提问来源于stack exchange,提问作者lance
相关产品推荐
相关产品推荐

