次の方法で共有


方法: ファイル ハンドラー アドインを手動で登録する

ファイル ハンドラー アドインを開発する場合は、まず、Azure Active Directory のアプリ登録にファイル ハンドラー マニフェストをアップロードする必要があります。 これは、プログラムまたは Azure Active Directory アプリ マニフェスト エディターを使用して実行できます。

アプリ マニフェストと addIns プロパティ

ファイル ハンドラー マニフェストは、アプリ マニフェストとともに Azure Active Directory に保管されます。 アプリ マニフェストの addIns プロパティには、アプリケーションのアドイン コンポーネント (ファイル ハンドラーなど) と、それらに関連付けられたプロパティがリストされています。

マニフェストは、ファイル ハンドラーのプロパティを定義する、キー/値プロパティのセットで構成されています。 ファイル ハンドラー マニフェストの詳細については、ファイル ハンドラーの概要に関するトピックを参照してください。

ファイル ハンドラー マニフェストの例:

{
"id": "968A844F-7A47-430C-9163-07AE7C31D407",
"type": "FileHandler",
"properties": [
    { "key": "version", "value": "2" },
    { "key": "fileTypeDisplayName", "value": "Display name of the file format" },
    { "key": "fileTypeIcon", "value": "{\"svg\":\"https://example.org/icon.svg\",\"png1x\":\"https://example.org/icon@1x.png\",\"png1.5x\":\"https://example.org/icon@1.5x.png\",\"png2x\":\"https://example.org/icon@2x.png\"}" },
    { "key": "appIcon", "value": "{\"svg\":\"https://example.org/app-icon.svg\",\"png1x\":\"https://example.org/app-icon@1x.png\",\"png1.5x\":\"https://example.org/app-icon@1.5x.png\",\"png2x\":\"https://example.org/app-icon@2x.png\"}" },
    { "key": "actions", "value": "json string of additional actions"}
  ]
}

ファイル ハンドラーを登録するには、Azure Active Directory に格納されているアプリ マニフェスト内の addIns コレクションを更新する必要があります。

AAD でのアプリ マニフェストの更新

このメソッドでは、 AAD で JSON マニフェストを直接更新する必要があります。

  1. Azure Active Directory のアプリケーションに移動する
  2. [マニフェスト] の左側のメニュー オプションを選択します
  3. 次に示すように、ファイル ハンドラーAdd-In JSON を "addIns" 配列に貼り付けます。
{
	"id": "9280aaa1-65c3-4a01-9ced-4f3e8e989c56",
	"acceptMappedClaims": null,
	"accessTokenAcceptedVersion": 2,
	"addIns": [
		{
			"id": "328486ea-7159-4b6a-a2aa-f036b2423b23",
			"type": "FileHandler",
			"properties": [
				{
					"key": "version",
					"value": "2"
				},
				{
					"key": "fileTypeDisplayName",
					"value": "Contoso Markdown"
				},
				{
					"key": "fileTypeIcon",
					"value": "{\"svg\":\"https://localhost:3000/images/icons/icon.svg\",\"png1x\":\"https://localhost:3000/images/icons/icon@1x.png\",\"png1.5x\":\"https://localhost:3000/images/icons/icon@1.5x.png\",\"png2x\":\"https://localhost:3000/images/icons/icon@2x.png\"}"
				},
				{
					"key": "appIcon",
					"value": "{\"svg\":\"https://localhost:3000/images/icons/app-icon.svg\",\"png1x\":\"https://localhost:3000/images/icons/app-icon@1x.png\",\"png1.5x\":\"https://localhost:3000/images/icons/app-icon@1.5x.png\",\"png2x\":\"https://localhost:3000/images/icons/app-icon@2x.png\"}"
				},
				{
					"key": "actions",
					"value": "[{\"type\":\"newFile\",\"url\":\"https://localhost:3000/markdown/create\",\"availableOn\":{\"file\":{\"extensions\":[\".md\"]},\"web\":{}}},{\"type\":\"open\",\"url\":\"https://localhost:3000/markdown/edit\",\"availableOn\":{\"file\":{\"extensions\":[\".md\"]},\"web\":{}}},{\"type\":\"preview\",\"url\":\"https://localhost:3000/markdown/preview\",\"availableOn\":{\"file\":{\"extensions\":[\".md\"]},\"web\":{}}}]"
				}
			]
		}
	],
  "allowPublicClient": true,
  remainder omitted...
}
  1. 上部のメニュー バーから [保存] を選択します

Microsoft Graph を使用したファイル ハンドラーの登録

AAD アプリケーション登録をプログラムで更新して、ファイル ハンドラー マニフェストを追加できます。 これには、ファイル ハンドラー アプリケーションと、ファイル ハンドラー登録の更新を許可するアクセス許可を持つ Directory.ReadWrite.All アプリケーションという 2 つの既存のアプリケーションが必要です。

  1. Microsoft Graph にアクセスするにはベアラー トークンを取得する必要があります。 トークンの詳細については、 AAD トークンに関するドキュメントを参照してください。このトークンには、上記のアクセス許可が Directory.ReadWrite.All 含まれている必要があります。

  2. マニフェストを挿入するファイル ハンドラーの登録を表すアプリケーションの オブジェクト ID に注意してください。 これは、アプリケーション登録の [概要] ページで確認でき、アプリケーション ID とは異なります。

  3. 次に、手順 1 のトークンと手順 2 のオブジェクト ID を使用して、次に示すように、マニフェストを本文に含める https://graph.microsoft.com/v1.0/applications/${objectId}/addIns PUT 要求を行うことができます。

PUT https://graph.microsoft.com/v1.0/applications/${objectId}/addIns HTTP/1.1
Authorization: Bearer ${AAD Token}
Accept: application/json
Content-Type: application/json

{
  "value": [{
      {
        "id": "968A844F-7A47-430C-9163-07AE7C31D407",
        "type": "FileHandler",
        "properties": [
            { "key": "version", "value": "2" },
            { "key": "fileTypeDisplayName", "value": "Display name of the file format" },
            { "key": "fileTypeIcon", "value": "{\"svg\":\"https://example.org/icon.svg\",\"png1x\":\"https://example.org/icon@1x.png\",\"png1.5x\":\"https://example.org/icon@1.5x.png\",\"png2x\":\"https://example.org/icon@2x.png\"}" },
            { "key": "appIcon", "value": "{\"svg\":\"https://example.org/app-icon.svg\",\"png1x\":\"https://example.org/app-icon@1x.png\",\"png1.5x\":\"https://example.org/app-icon@1.5x.png\",\"png2x\":\"https://example.org/app-icon@2x.png\"}" },
            { "key": "actions", "value": "json string of additional actions"}
        ]
        }
  }]
}

この時点で、ファイル ハンドラー マニフェストは AAD 内のアプリケーションに登録されていて、ファイル ハンドラー アドインの作成とテストに進めるようになります。

注:

トークンの取得、アプリケーションの作成、 Nodejs サンプルのツールでのファイル ハンドラー アドインの登録の完全な例を確認できます。

重要

ファイル ハンドラー マニフェストの変更が表示されるまでに 24 時間から 48 時間かかることがあります。 開発目的でキャッシュを強制クリアする方法の詳細については、ファイル ハンドラー キャッシュの更新に関するトピックを参照してください。