本文旨在帮助熟悉仅加载项清单的读者通过比较这两者来了解统一清单。 读者还应看到 具有 Microsoft 365 的统一清单的 Office 加载项。
注意
Microsoft 365 的统一清单可用于生产 Outlook 加载项。它仅作为 Excel、PowerPoint 和 Word 加载项的预览版提供。
架构和常规点
与仅外接程序清单相比, 统一清单只有一个架构,后者总共有七个 架构。
统一清单和仅外接程序清单的概念映射
本部分介绍熟悉仅外接程序清单的读者的统一清单。 需要记住的一些要点:
统一清单采用 JSON 格式。
JSON 不像 XML 那样区分属性值和元素值。 通常,映射到 XML 元素的 JSON 使元素值和每个属性都成为子属性。 下面的示例演示了一些 XML 标记及其等效的 JSON。
<MyThing color="blue">Some text</MyThing>"myThing" : { "color": "blue", "text": "Some text" }外接程序仅清单中有许多位置,其中具有复数名称的元素具有同一名称的单一版本的子级。 例如,用于配置自定义菜单的标记包括一个
<Items>元素,该元素可以具有多个<Item>元素子级。 这些复数元素的 JSON 等效项是具有数组作为其值的属性。 数组的成员是 匿名 对象,而不是名为“item”或“item1”、“item2”等的属性。下面为一个示例。"items": [ { -- markup for a menu item is here -- }, { -- markup for another menu item is here -- } ]
顶级结构
统一清单的根级别(大致对应于 <OfficeApp> 仅外接程序清单中的 元素)是匿名对象。
<OfficeApp> 的子级通常分为两个非传统类别。
<VersionOverrides> 元素是一个类别。 另一个包含 <OfficeApp> 的所有其他子级,它们统称为基本清单。 因此,统一清单也有类似的划分。 有一个顶级 "extensions" 属性,其用途和子属性 <VersionOverrides> 大致对应于 元素。 统一清单还具有 10 多个其他顶级属性,这些属性与仅外接程序清单的基本清单具有相同的目的。 可以将这些其他属性统一视为统一清单的基本清单。
基本清单
基本清单属性指定 任何类型的扩展 Microsoft 365 应具有的外接程序的特征。 这包括 Teams 选项卡和消息扩展,而不仅仅是 Office 加载项。这些特征包括公共名称和唯一 ID。 下表显示了统一清单中某些关键顶级属性与当前清单中的 XML 元素的映射,其中映射原则是标记 的用途 。
| JSON 属性 | 用途 | XML 元素 | 备注 |
|---|---|---|---|
| "$schema" | 标识清单架构。 |
<OfficeApp> 和 <VersionOverrides> 的属性 |
无 |
"id" |
外接程序的 GUID。 | <Id> |
无 |
"version" |
加载项的版本。 | <Version> |
无 |
"manifestVersion" |
清单架构的版本。 |
<OfficeApp> 的属性 |
无 |
"name" |
加载项的公共名称。 | <DisplayName> |
无 |
"description" |
加载项的公共说明。 | <Description> |
无 |
"accentColor" |
无 | 无 | 此属性在仅外接程序清单中没有等效项,并且不会在统一清单中使用。 但它必须存在。 |
"developer" |
标识加载项的开发人员。 | <ProviderName> |
无 |
"localizationInfo" |
配置默认区域设置和其他受支持的区域设置。 |
<DefaultLocale> 和 <Override> |
无 |
"webApplicationInfo" |
标识外接程序的 Web 应用,如Microsoft Entra ID中已知的那样。 | <WebApplicationInfo> |
在仅外接程序清单中, <WebApplicationInfo> 元素位于 中 <VersionOverrides>,而不是基本清单中。 |
"authorization" |
标识加载项所需的任何 Microsoft Graph 权限。 | <WebApplicationInfo> |
在仅外接程序清单中, <WebApplicationInfo> 元素位于 中 <VersionOverrides>,而不是基本清单中。 |
<Hosts>、 <Requirements>和 <ExtendedOverrides> 元素是仅外接程序清单中基本清单的一部分。 但与这些元素关联的概念和目的是在统一清单的 属性内 "extensions" 配置的。
"extensions" 财产
"extensions"统一清单中的 属性主要表示外接程序的特征,这些特征与其他类型的Microsoft 365 扩展无关。 例如,加载项扩展的 Office 应用程序 ((例如 Excel、PowerPoint、Word 和 Outlook) )在 属性中"extensions"指定,Office 应用程序功能区的自定义项也指定。 属性的配置 "extensions" 目的与仅外接程序清单中 元素的配置 <VersionOverrides> 目的非常匹配。
注意
<VersionOverrides>仅外接程序清单的 节具有适用于许多字符串资源的“双跳转”系统。 在 <VersionOverrides> 的 <Resources> 子级中指定字符串(包括 URL)并为其分配 ID。 需要字符串的元素具有与 resid 元素中字符串 ID 匹配的 <Resources> 属性。
"extensions"统一清单的 属性通过将字符串直接定义为属性值来简化作。 统一清单中没有与 元素等效的 <Resources> 元素。
下表显示了统一清单中 属性 的某些 高级子属性 "extensions" 与当前清单中的 XML 元素的映射。 点表示法用于引用子属性。
注意
此表仅包含 的一些选定的代表性后代属性 "extensions"。 它不是 的所有子属性的 "extensions"详尽列表。 有关统一清单的完整参考,请参阅 Microsoft 365 应用清单架构参考。
| JSON 属性 | 用途 | XML 元素 | Comments |
|---|---|---|---|
"requirements.capabilities" |
标识加载项需要可安装 的要求集 。 加载项需要可安装。 |
<Requirements> 和 <Sets> |
无 |
"requirements.scopes" |
标识可在其中安装加载项的 Office 应用程序。 | <Hosts> |
无 |
"ribbons" |
加载项自定义的功能区。 |
<Hosts>、 ExtensionPoints 和各种 *FormFactor 元素 |
属性 "ribbons" 是匿名对象的数组,每个对象合并这三个元素的目的。 请参阅 "ribbons" 表。 |
"alternates" |
指定与等效的 COM 加载项、XLL 或两者的向后兼容性。 | <EquivalentAddins> |
请参阅 EquivalentAddins - 另请参阅 背景信息。 |
"runtimes" |
配置外接程序使用的 嵌入式运行时 ,包括 UI 很少或没有 UI 的各种加载项,例如自定义仅函数加载项和 函数命令。 |
<Runtimes>.
<FunctionFile> 和 <ExtensionPoint>(CustomFunctions 类型) |
没有。 |
"autoRunEvents" |
配置指定事件的事件处理程序。 |
<ExtensionPoint> LaunchEvent) 类型的 ( |
没有。 |
"keyboardShortcuts" (开发人员预览版) |
定义自定义键盘快捷方式或组合键以运行特定作。 | <ExtendedOverrides> |
没有。 |
"ribbons" 桌子
下表将数组中 "ribbons" 匿名子对象的子属性映射到当前清单中的 XML 元素。
| JSON 属性 | 用途 | XML 元素 | Comments |
|---|---|---|---|
"contexts" |
指定加载项自定义的命令图面。 | 各种 *CommandSurface 元素,例如 PrimaryCommandSurface 和 MessageReadCommandSurface | 没有。 |
"tabs" |
配置自定义功能区选项卡。 | <CustomTab> |
的后代属性 "tabs" 的名称和层次结构与 的 <CustomTab>后代密切相关。 |
"fixedControls" |
配置 集成垃圾邮件报告 加载项的 按钮并将其添加到 Outlook 功能区。 |
<Control> 的子元素 <ReportPhishingCustomization> |
没有。 |
"spamPreProcessingDialog" |
配置从 Outlook 功能区选择垃圾邮件报告加载项按钮后显示的预处理对话框。 |
<PreProcessingDialog> 的子元素 <ReportPhishingCustomization> |
没有。 |
有关完整示例统一清单,请参阅 示例统一清单。