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

如何通过MS Graph API为日历对象添加自定义元数据?

为M365日历添加自定义元数据的解决方案

一、Single-value Extended Property的GUID使用规则

  • 不需要从Exchange Server Protocols Master Property List选择ID,你可以自行生成专属的自定义GUID,用来标识你的应用独有的扩展属性组。
  • 格式要求:以{GUID} Name作为属性ID,比如{12345678-1234-1234-1234-1234567890AB} LocalCalendarId。这个GUID只需保证是你应用专属的即可,随便生成一个(比如通过代码或在线工具生成),无需注册。

二、创建带自定义元数据的日历(请求示例)

在创建日历的请求中直接嵌入扩展属性:

POST /me/calendars
Content-Type: application/json

{
  "name": "本地同步日历-市场部",
  "singleValueExtendedProperties": [
    {
      "id": "{你的自定义GUID} Name LocalCalendarId",
      "value": "本地数据库日历ID_789"
    }
  ]
}

三、查询与更新扩展属性

  • 查询指定日历的扩展属性:
GET /me/calendars?$select=id,name&$expand=singleValueExtendedProperties($filter=id eq '{你的自定义GUID} Name LocalCalendarId')
  • 更新已存在日历的扩展属性:
PATCH /me/calendars/{目标日历ID}
Content-Type: application/json

{
  "singleValueExtendedProperties": [
    {
      "id": "{你的自定义GUID} Name LocalCalendarId",
      "value": "更新后的本地ID_101"
    }
  ]
}

四、关于Schema Extension的说明

Schema Extension目前不支持Calendar资源(仅适配User、Group、Message、Event等有限资源类型),因此这个方案不适用,优先选择single-value extended property即可。

核心注意事项

  • 自定义GUID必须唯一,避免和其他应用的扩展属性冲突;
  • 扩展属性名称(如示例中的LocalCalendarId)可自行定义,只需保持{GUID} Name 属性名的格式;
  • 若需添加多个自定义字段,可复用同一个GUID,仅修改后面的属性名称,比如{GUID} Name LocalSyncToken。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 20:50:29