Gewusst wie: Manuelles Registrieren eines Dateihandler-Add-Ins

Zum Entwickeln eines Dateihandler-Add-Ins müssen Sie zuerst das Dateihandlermanifest in die App-Registrierung in Azure Active Directory hochladen. Dies kann programmgesteuert oder über den Manifest-Editor für Azure Active Directory-Apps erfolgen.

App-Manifest und die addIns-Eigenschaft

Dateihandlermanifeste werden zusammen mit dem App-Manifest in Azure Active Directory gespeichert. Die addIns-Eigenschaft des App-Manifests führt die Add-In-Komponenten einer Anwendung, z. B. Dateihandler, und ihre verknüpften Eigenschaften auf.

Das Manifest besteht aus einer Reihe von Schlüssel-/Wert-Eigenschaften, die die Eigenschaften des Dateihandlers definieren. Weitere Informationen zum Dateihandlermanifest finden Sie unter Übersicht über Dateihandler.

Hier ein Beispiel für ein Dateihandlermanifest:

{
"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"}
  ]
}

Um einen Dateihandler zu registrieren, müssen Sie die addIns-Sammlung im App-Manifest aktualisieren, das in Azure Active Directory gespeichert ist.

Aktualisieren des App-Manifests in AAD

Diese Methode erfordert, dass Sie das JSON-Manifest direkt in AAD aktualisieren.

  1. Navigieren Zur Anwendung in Azure Active Directory
  2. Wählen Sie die linke Menüoption "Manifest" aus.
  3. Fügen Sie den Dateihandler Add-In JSON wie unten gezeigt in das AddIns-Array ein:
{
	"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. Wählen Sie in der oberen Menüleiste "Speichern" aus.

Verwenden von Microsoft Graph zum Registrieren eines Dateihandlers

Sie können eine AAD-Anwendungsregistrierung programmgesteuert aktualisieren, um das Dateihandlermanifest hinzuzufügen. Dazu sind zwei vorhandene Anwendungen erforderlich: die Anwendung "File Handler" und eine Anwendung mit Directory.ReadWrite.All Berechtigungen, um Aktualisierungen der Dateihandlerregistrierung zuzulassen.

  1. Sie müssen ein Bearertoken abrufen, um auf Microsoft Graph zugreifen zu können. Weitere Informationen zu Token finden Sie in der Dokumentation zu AAD-Token. Dieses Token muss die Directory.ReadWrite.All oben genannten Berechtigungen enthalten.

  2. Beachten Sie die Objekt-ID der Anwendung, die die Dateihandlerregistrierung darstellt, in die das Manifest eingefügt wird. Dies ist auf der Seite "Übersicht" der Anwendungsregistrierung zu finden und unterscheidet sich von der Anwendungs-ID.

  3. Nun können Sie mithilfe des Tokens aus Schritt 1 und der Objekt-ID aus Schritt 2 eine PUT-Anforderung senden, um https://graph.microsoft.com/v1.0/applications/${objectId}/addIns das Manifest wie gezeigt in den Textkörper einzufügen.

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"}
        ]
        }
  }]
}

Da das Dateihandlermanifest nun bei Ihrer Anwendung in AAD registriert wurde, können Sie mit dem Erstellen und Testen Ihres Dateihandler-Add-Ins fortfahren.

Hinweis

Sie sehen ein vollständiges Beispiel für das Abrufen eines Tokens, das Erstellen einer Anwendung und das Registrieren des Dateihandler-Add-Ins in den Tools des Nodejs-Beispiels.

Wichtig

Änderungen am Dateihandlermanifest können 24 bis 48 Stunden dauern. Unter Dateihandlercache aktualisieren finden Sie Informationen dazu, wie erzwungen werden kann, dass der Cache zu Entwicklungszwecken geleert wird.