次の方法で共有


アドインのみのマニフェストと Microsoft 365 の統合マニフェストを比較する

この記事は、アドインのみのマニフェストに精通している読者が、2 つを比較して統合マニフェストを理解できるようにするためのものです。 また、 Microsoft 365 用の統合マニフェストを含む Office アドインも表示されます。

注:

統合マニフェストは現在、Outlook アドインのみをサポートしており、Office では Microsoft 365 サブスクリプションにリンクされ、Windows、モバイル デバイス、またはOutlook on the webにインストールされています。 Excel、PowerPoint、Word、Outlook on Mac、および永続的なバージョンの Office へのサポートの拡張に取り組んでいます。

スキーマと一般的なポイント

統合マニフェストのスキーマは 1 つだけですが、アドインのみのマニフェストには合計 7 つのスキーマがあります

統合マニフェストとアドインのみのマニフェストの概念マッピング

このセクションでは、アドインのみのマニフェストに精通しているリーダー向けの統合マニフェストについて説明します。 留意すべき点:

  • 統合マニフェストは JSON 形式です。

  • JSON では、XML と同様に属性と要素の値が区別されません。 通常、XML 要素にマップされる JSON は、要素値と各属性の両方を子プロパティにします。 次の例では、いくつかの XML マークアップとその同等の JSON を示します。

    <MyThing color="blue">Some text</MyThing>
    
    "myThing" : {
        "color": "blue",
        "text": "Some text"
    }
    
  • アドインのみのマニフェストには、複数形の名前を持つ要素に同じ名前の単数形の子が含まれている場所が多数あります。 たとえば、カスタム メニューを構成するマークアップには、複数の<Item>要素の子を含めることができる<Items> 要素が含まれています。 これらの複数の要素に相当する JSON は、その値として配列を持つプロパティです。 配列のメンバーは 匿名 オブジェクトであり、"item" または "item1"、"item2" などの名前のプロパティではありません。次に例を示します。

    "items": [
        {
            -- markup for a menu item is here --
        },
        {
            -- markup for another menu item is here --
        }
    ]
    

最上位レベルの構造

統合マニフェストのルート レベルは、アドインのみのマニフェストの <OfficeApp> 要素にほぼ対応します。これは匿名オブジェクトです。

<OfficeApp> の子は、一般的に 2 つの概念カテゴリに分類されます。 <VersionOverrides> 要素は 1 つのカテゴリです。 もう 1 つの子は、<OfficeApp> の他のすべての子で構成されます。これは、総称して基本マニフェストと呼ばれます。 そのため、統合マニフェストにも同様の除算があります。 最上位レベルの "extensions" プロパティがあり、その目的と子プロパティが <VersionOverrides> 要素にほぼ対応しています。 統合マニフェストには、アドインのみのマニフェストの基本マニフェストと同じ目的でまとめて機能する、他の 10 を超える最上位のプロパティもあります。 これらの他のプロパティは、統合マニフェストの基本マニフェストとしてまとめて考えることができます。

基本マニフェスト

基本マニフェスト プロパティは、どんな種類の Microsoft 365 拡張機能も持つことが想定されるアドインの特性を指定します。 これには、Office アドインだけでなく、Teams タブとメッセージ拡張機能も含まれます。これらの特性には、パブリック名と一意の ID が含まれます。 次の表は、統合マニフェスト内のいくつかの重要な最上位のプロパティを現在のマニフェストの XML 要素にマッピングする方法を示しています。ここで、マッピングの原則はマークアップの 目的 です。

JSON プロパティ 用途 XML 要素 コメント
"$schema" マニフェスト スキーマを識別します。 <OfficeApp> および <VersionOverrides の属性> なし
"id" アドインの GUID。 <Id> なし
"version" アドインのバージョンです。 <バージョン> なし
"manifestVersion" マニフェスト スキーマのバージョンです。 <OfficeApp の属性> なし
"name" アドインのパブリック名。 <DisplayName> なし
"description" アドインの公開用の説明。 <説明> なし
"accentColor" なし なし このプロパティは、アドインのみのマニフェストでは同等ではなく、統合マニフェストでは使用されません。 ただし、存在する必要があります。
"developer" アドインの開発者を識別します。 <ProviderName> なし
"localizationInfo" 既定のロケールとその他のサポートされているロケールを構成します。 <DefaultLocale><Override> なし
"webApplicationInfo" Azure Active Directory で既知のアドインの Web アプリを識別します。 <WebApplicationInfo> アドインのみのマニフェストでは、 <WebApplicationInfo> 要素はベース マニフェストではなく <VersionOverrides> 内にあります。
"authorization" アドインに必要な Microsoft Graphアクセス許可を識別します。 <WebApplicationInfo> アドインのみのマニフェストでは、 <WebApplicationInfo> 要素はベース マニフェストではなく <VersionOverrides> 内にあります。

<Hosts><Requirements>および <ExtendedOverrides> 要素は、アドインのみのマニフェストの基本マニフェストの一部です。 ただし、これらの要素に関連付けられている概念と目的は、統合マニフェストの "extensions" プロパティ内で構成されます。

"extensions" プロパティ

統合マニフェストの "extensions" プロパティは、主に、他の種類の Microsoft 365 拡張機能とは関係のないアドインの特性を表します。 たとえば、アドインが拡張する Office アプリケーション (Excel、PowerPoint、Word、Outlook など) は、Office アプリケーション リボンのカスタマイズと同様に、"extensions" プロパティ内で指定されます。 "extensions" プロパティの構成目的は、アドインのみのマニフェストの <VersionOverrides> 要素と密接に一致します。

注:

アドインのみのマニフェストの <VersionOverrides> セクションには、多くの文字列リソースに対して "二重ジャンプ" システムがあります。 URL を含む文字列が指定され、<VersionOverrides> の<Resources>子に ID が割り当てられます。 文字列を必要とする要素には、<Resources> 要素内の文字列の ID と一致するresid属性があります。 統合マニフェストの "extensions" プロパティは、文字列をプロパティ値として直接定義することで、作業を簡略化します。 統合マニフェストには、 <Resources> 要素と同等のものはありません。

次の表は、統合マニフェストの "extensions" プロパティ の一部 の高レベルの子プロパティと、現在のマニフェストの XML 要素のマッピングを示しています。 ドット表記は、子プロパティを参照するために使用されます。

注:

この表には、"extensions" の一部の代表的な子孫プロパティのみが含まれています。 "拡張機能" のすべての子プロパティの完全な一覧ではありません。 統合マニフェストの完全なリファレンスについては、「 Microsoft 365 の統合マニフェスト」を参照してください。 すべての最新のプレビュー機能を含むマニフェスト リファレンスについては、「 Microsoft 365 用統合マニフェストのパブリック開発者プレビュー」を参照してください。

JSON プロパティ 用途 XML 要素 コメント
"requirements.capabilities" アドインをインストール可能にする必要がある 要件セット を識別します。 アドインをインストール可能にする必要があることを示します。 <Requirements>および <Sets> なし
"requirements.scopes" アドインをインストールできる Office アプリケーションを識別します。 <Hosts> なし
"ribbons" アドインがカスタマイズするリボン。 <Hosts>ExtensionPoints、およびさまざまな *FormFactor 要素 "ribbons" プロパティは、これら 3 つの要素の目的をマージする匿名オブジェクトの配列です。 「リボン」の表を参照してください。
"alternates" 同等の COM アドイン、XLL、またはその両方との下位互換性を指定します。 <EquivalentAddins> 背景情報については、「EquivalentAddins - 参照」を参照してください。
"runtimes" カスタム関数専用アドインや関数コマンドなど、UI がほとんどまたはまったくないさまざまな種類のアドインなど、アドインで使用される埋め込みランタイムを構成します。 <Runtimes> <FunctionFile><ExtensionPoint> (CustomFunctions 型) なし
"autoRunEvents" 指定したイベントのイベント ハンドラーを構成します。 <ExtensionPoint> (LaunchEvent 型) なし

"ribbons" テーブル

次の表は、"ribbons" 配列内の匿名子オブジェクトの子プロパティを、現在のマニフェストの XML 要素にマップします。

JSON プロパティ 用途 XML 要素 コメント
"contexts" アドインがカスタマイズするコマンド サーフェスを指定します。 PrimaryCommandSurfaceMessageReadCommandSurface など、さまざまな *CommandSurface 要素 何一つ。
"tabs" カスタム リボン タブを構成します。 <CustomTab> "tabs" の子孫プロパティの名前と階層は、 <CustomTab> の子孫と密接に一致します。
"fixedControls" (開発者プレビュー) 統合スパムレポート アドインのボタンを構成して Outlook リボンに追加します。 <Control><ReportPhishingCustomization の子要素> 何一つ。
"spamPreProcessingDialog" (開発者プレビュー) Outlook リボンからスパム レポート アドインのボタンを選択した後に表示される前処理ダイアログを構成します。 <PreProcessingDialog><ReportPhishingCustomization の子要素です> 何一つ。

完全なサンプル統合マニフェストについては、「サンプル統合 マニフェスト」を参照してください。

次の手順