将仅外接程序清单与 Microsoft 365 的统一清单进行比较

本文旨在帮助熟悉仅加载项清单的读者通过比较这两者来了解统一清单。 读者还应看到 具有 Microsoft 365 的统一清单的 Office 加载项

注意

统一清单目前仅支持 Outlook 加载项,并且仅在 Office 中链接到 Microsoft 365 订阅并安装在 Windows、移动设备上或Outlook 网页版中。 我们正在努力将支持扩展到 Excel、PowerPoint 和 Word,以及 Outlook on Mac 和永久版本的 Office。

架构和常规点

与仅外接程序清单相比, 统一清单只有一个架构,后者总共有七个 架构

统一清单和仅外接程序清单的概念映射

本部分介绍熟悉仅外接程序清单的读者的统一清单。 需要记住的一些要点:

  • 统一清单采用 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" 加载项的版本。 <版本>
"manifestVersion" 清单架构的版本。 OfficeApp> 的属性<
"name" 加载项的公共名称。 <DisplayName>
"description" 加载项的公共说明。 <说明>
"accentColor" 此属性在仅外接程序清单中没有等效项,并且不会在统一清单中使用。 但它必须存在。
“developer” 标识加载项的开发人员。 <ProviderName>
"localizationInfo" 配置默认区域设置和其他受支持的区域设置。 <DefaultLocale><Override>
"webApplicationInfo" 标识加载项的 Web 应用,因为它在 Azure Active Directory 中是已知的。 <WebApplicationInfo> 在仅外接程序清单中<,WebApplicationInfo> 元素位于 VersionOverrides> 中<,而不是基本清单中。
"authorization" 标识加载项所需的任何 Microsoft Graph 权限。 <WebApplicationInfo> 在仅外接程序清单中<,WebApplicationInfo> 元素位于 VersionOverrides> 中<,而不是基本清单中。

Hosts<><Requirements><ExtendedOverrides> 元素是仅外接程序清单中基本清单的一部分。 但与这些元素关联的概念和目的在统一清单的“扩展”属性中配置。

“extensions”属性

统一清单中的“extensions”属性主要表示外接程序的特征,这些特征与其他类型的Microsoft 365 扩展无关。 例如,加载项扩展的 Office 应用程序 ((例如 Excel、PowerPoint、Word 和 Outlook) )在“extensions”属性中指定,Office 应用程序功能区的自定义项也指定。 “extensions”属性的配置目的与仅外接程序清单中 VersionOverrides> 元素的配置<目的非常匹配。

注意

仅外接程序清单的 VersionOverrides> 部分具有适用于许多字符串资源的“双跳转”系统。<VersionOverrides> 的<Resources> 子级中<指定并分配了字符串(包括 URL)。 需要字符串的元素具有residResources> 元素中<字符串的 ID 匹配的属性。 统一清单的“extensions”属性通过将字符串直接定义为属性值来简化操作。 统一清单中没有与 Resources> 元素等效的<项。

下表显示了统一清单中“extensions”属性 的某些 高级子属性与当前清单中的 XML 元素的映射。 点表示法用于引用子属性。

注意

此表仅包含“extensions”的一些选定的代表性后代属性。 它不是“扩展”的所有子属性的详尽列表。 有关统一清单的完整参考,请参阅 Microsoft 365 的统一清单。 有关包含所有最新预览功能的清单参考,请参阅 公共开发人员预览版,了解 Microsoft 365 的统一清单

JSON 属性 用途 XML 元素 备注
"requirements.capabilities" 标识加载项需要可安装 的要求集 。 加载项需要可安装。 <要求><集>
"requirements.scopes" 标识可在其中安装加载项的 Office 应用程序。 <Hosts>
"ribbons" 加载项自定义的功能区。 <Hosts>ExtensionPoints 和各种 FormFactor 元素 "ribbons" 属性是匿名对象的数组,每个对象合并这三个元素的目的。 请参阅 “功能区”表
“alternates” 指定与等效的 COM 加载项、XLL 或两者的向后兼容性。 <EquivalentAddins> 请参阅 EquivalentAddins - 另请参阅 背景信息。
"runtimes" 配置外接程序使用的 嵌入式运行时 ,包括 UI 很少或没有 UI 的各种加载项,例如自定义仅函数加载项和 函数命令 < >运行时 <CustomFunctions 类型的 FunctionFile><ExtensionPoint> ()
"autoRunEvents" 配置指定事件的事件处理程序。 LaunchEvent) 类型的 ExtensionPoint> (<

"ribbons" 表

下表将 "ribbons" 数组中匿名子对象的子属性映射到当前清单中的 XML 元素。

JSON 属性 用途 XML 元素 备注
"contexts" 指定加载项自定义的命令图面。 各种 *CommandSurface 元素,例如 PrimaryCommandSurfaceMessageReadCommandSurface 没有。
"tabs" 配置自定义功能区选项卡。 <CustomTab> “选项卡”的后代属性的名称和层次结构与 CustomTab> 的<后代密切相关。
“fixedControls” (开发人员预览版) 配置 集成垃圾邮件报告 加载项的 按钮并将其添加到 Outlook 功能区。 <控制>ReportPhishingCustomization> 的<子元素 没有。
“spamPreProcessingDialog” (开发人员预览版) 配置从 Outlook 功能区选择垃圾邮件报告加载项按钮后显示的预处理对话框。 ReportPhishingCustomization> 的<PreProcessingDialog> 子元素< 没有。

有关完整示例统一清单,请参阅 示例统一清单

后续步骤