Outlook 扩展属性概述

扩展属性允许存储自定义数据,当 Outlook MAPI 属性_尚未在 Microsoft Graph API 元数据中公开_时,扩展属性专门用作应用访问这些属性的自定义数据的回退机制。可以使用扩展属性 REST API 在以下用户资源中存储或获取此类自定义数据:

或者,在以下 Office 365 组资源中:

使用扩展属性还是开放扩展?

在大多数的常见情况下,你应该能够使用开放扩展(用 openTypeExtension 表示,以前被称为 Office 365 数据扩展)来存储和访问用户邮箱中资源实例的自定义数据。仅当需要访问尚未通过 Microsoft Graph API 元数据公开的 Outlook MAPI 属性的自定义数据时使用扩展属性。

扩展属性的类型

根据是否打算将单个值或多个值(相同类型)存储在一个扩展属性中,可以将扩展属性创建为 singleValueLegacyExtendedPropertymultiValueLegacyExtendedProperty

其中的每种类型都通过其 id 进行标识并将数据存储在 value 中。

可以使用 id 获取特定的资源实例以及该扩展属性,或筛选单值扩展属性以获取拥有该属性的所有实例。

注意 不能使用 REST API 在一个调用中获取特定实例的所有扩展属性。

id 格式

创建单值或多值扩展属性时,根据字符串名称或数字标识符以及属性值的实际类型,可以按照任一种格式指定 id(共两种)。由于扩展属性在大多数情况下与定义的 MAPI 属性(未在 Microsoft Graph API 元数据中公开)交互操作。为了简单起见,你选择的格式应反映相应的 MAPI 属性在其 MAPI 属性标识符 中使用字符串还是数字值。在 [MS-OXPROPS] Microsoft Corporation 的Exchange Server Protocols Master Property List”(“Exchange Server 协议 Master 属性列表”)中,可以查找有关将扩展属性映射到现有 MAPI 属性的信息,例如属性标识符和 GUID。

注意id 选择一种格式之后,应仅按照该格式访问扩展属性。

单值扩展属性的有效 id 格式

格式 示例 说明
{type} {guid} 名称 {name} "String {8ECCC264-6880-4EBE-992F-8888D2EEAA1D} Name TestProperty" 用所属的命名空间 (GUID) 和名称标识属性。
{type} {guid} Id {id} "Integer {8ECCC264-6880-4EBE-992F-8888D2EEAA1D} Id 0x8012" 用所属的命名空间 (GUID) 和标识符标识属性。

多值扩展属性的有效 id 格式

格式 示例 说明
{type} {guid} 名称 {name} "StringArray {8ECCC264-6880-4EBE-992F-8888D2EEAA1D} Name TestProperty" 用命名空间 (GUID) 和名称标识属性。
{type} {guid} Id {id} "IntegerArray {8ECCC264-6880-4EBE-992F-8888D2EEAA1D} Id 0x8013" 用命名空间 (GUID) 和标识符标识属性。

REST API 操作

单值扩展属性的操作:

多值扩展属性的操作: