この記事は、アドインのみのマニフェストに精通している読者が、2 つを比較して統合マニフェストを理解できるようにするためのものです。 また、 Microsoft 365 用の統合マニフェストを含む Office アドインも表示されます。
注:
Microsoft 365 の統合マニフェストは、運用環境の Outlook アドインで使用できます。Excel、PowerPoint、Word アドインのプレビューとしてのみ使用できます。
スキーマと一般的なポイント
統合マニフェストのスキーマは 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 つの概念的なカテゴリに分類されます。 1 つのカテゴリは、<VersionOverrides> 要素です。 もう 1 つは、<OfficeApp> の他のすべての子で構成され、これらはまとめて基本マニフェストと呼ばれます。 そのため、統合マニフェストにも同様の除算があります。 最上位レベルの "extensions" プロパティがあり、その目的と子プロパティが <VersionOverrides> 要素にほぼ対応しています。 統合マニフェストには、アドインのみのマニフェストの基本マニフェストと同じ目的でまとめて機能する、他の 10 を超える最上位のプロパティもあります。 これらの他のプロパティは、統合マニフェストの基本マニフェストとしてまとめて考えることができます。
基本マニフェスト
基本マニフェスト プロパティは、どんな種類の Microsoft 365 拡張機能も持つことが想定されるアドインの特性を指定します。 これには、Office アドインだけでなく、Teams タブとメッセージ拡張機能も含まれます。これらの特性には、パブリック名と一意の 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" |
Microsoft Entra IDで認識されているアドインの 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"の一部の代表的な子孫プロパティのみが含まれています。
"extensions"のすべての子プロパティの完全な一覧ではありません。 統合マニフェストの完全なリファレンスについては、「 Microsoft 365 アプリ マニフェスト スキーマ リファレンス」を参照してください。
| JSON プロパティ | 用途 | XML 要素 | 注釈 |
|---|---|---|---|
"requirements.capabilities" |
アドインをインストール可能にする必要がある 要件セット を識別します。 アドインをインストール可能にする必要があることを示します。 |
<Requirements> と <Sets> |
なし |
"requirements.scopes" |
アドインをインストールできる Office アプリケーションを識別します。 | <Hosts> |
なし |
"ribbons" |
アドインがカスタマイズするリボン。 |
<Hosts>、 ExtensionPoints、およびさまざまな *FormFactor 要素 |
"ribbons" プロパティは、これら 3 つの要素の目的をマージする匿名オブジェクトの配列です。 「 "ribbons" テーブル」を参照してください。 |
"alternates" |
同等の COM アドイン、XLL、またはその両方との下位互換性を指定します。 | <EquivalentAddins> |
背景情報については、「EquivalentAddins - 参照」を参照してください。 |
"runtimes" |
カスタム関数専用アドインや関数コマンドなど、UI がほとんどまたはまったくないさまざまな種類のアドインなど、アドインで使用される埋め込みランタイムを構成します。 |
<Runtimes>.
<FunctionFile>、および <ExtensionPoint> (CustomFunctions 型の) |
なし。 |
"autoRunEvents" |
指定したイベントのイベント ハンドラーを構成します。 |
<ExtensionPoint> (LaunchEvent 型) |
なし。 |
"keyboardShortcuts" (開発者プレビュー) |
特定のアクションを実行するためのカスタム キーボード ショートカットまたはキーの組み合わせを定義します。 | <ExtendedOverrides> |
なし。 |
"ribbons" テーブル
次の表は、 "ribbons" 配列内の匿名子オブジェクトの子プロパティを、現在のマニフェストの XML 要素にマップします。
| JSON プロパティ | 用途 | XML 要素 | 注釈 |
|---|---|---|---|
"contexts" |
アドインがカスタマイズするコマンド サーフェスを指定します。 | PrimaryCommandSurface や MessageReadCommandSurface など、さまざまな *CommandSurface 要素 | なし。 |
"tabs" |
カスタム リボン タブを構成します。 | <CustomTab> |
"tabs"の子孫プロパティの名前と階層は、<CustomTab>の子孫と密接に一致します。 |
"fixedControls" |
統合スパムレポート アドインのボタンを構成して Outlook リボンに追加します。 |
<Control> の child 要素 <ReportPhishingCustomization> |
なし。 |
"spamPreProcessingDialog" |
Outlook リボンからスパム レポート アドインのボタンを選択した後に表示される前処理ダイアログを構成します。 |
<PreProcessingDialog> の child 要素 <ReportPhishingCustomization> |
なし。 |
完全なサンプル統合マニフェストについては、「サンプル統合 マニフェスト」を参照してください。
次の手順
Office Add-ins