schemaExtension-Ressourcentyp (Schemaerweiterungen)
Namespace: microsoft.graph
Mit Schemaerweiterungen können Sie ein Schema definieren, um stark typisierte benutzerdefinierte Daten zu erweitern und einem Ressourcentyp hinzuzufügen. Die benutzerdefinierten Daten werden in der erweiterten Ressource als komplexer Typ angezeigt. Schemaerweiterungen werden von den folgenden Ressourcentypen unterstützt:
- user
- Gruppe
- administrativeUnit
- contact
- device
- Ereignis (sowohl für Benutzer als auch für Gruppenkalender)
- message
- organization
- post
Diese Ressource und die zugehörigen Methoden verwenden, um die Schemaerweiterungsdefinitionen zu verwalten. Zum Verwalten der Schemaerweiterungsdaten auf der erweiterten Ressourceninstanz dieselbe REST-Anforderung verwenden, die Sie zum Verwalten der Ressourceninstanz verwenden. Im Beispiel für Schemaerweiterungen erfahren Sie, wie Sie benutzerdefinierte Daten zu Gruppen hinzufügen.
Weitere Informationen zur Erweiterbarkeit von Microsoft Graph, einschließlich Beschränkungen für Schemaerweiterungen, finden Sie unter Hinzufügen von benutzerdefinierten Eigenschaften zu Ressourcen mithilfe von Erweiterungen.
Methoden
Methode | Rückgabetyp | Beschreibung |
---|---|---|
Create | schemaExtension | Erstellen Sie eine Schemaerweiterungsdefinition und die zugehörige Schemaerweiterungseigenschaft. |
List | schemaExtension | Dient zum Auflisten der verfügbaren schemaExtension-Definitionen und ihrer Eigenschaften. |
Get | schemaExtension | Dient zum Lesen der Eigenschaften einer bestimmten schemaExtension-Definition. |
Update | schemaExtension | Dient zum Aktualisieren einer schemaExtension-Definition. Verwenden Sie diesen Vorgang, um die Beschreibung, status, Zieltypen zu aktualisieren oder der Schemaerweiterungsdefinition weitere Eigenschaften hinzuzufügen. |
Löschen | Keine | Dient zum Löschen einer schemaExtension-Definition. |
Eigenschaften
Eigenschaft | Typ | Beschreibung |
---|---|---|
description | String | Beschreibung für die Schemaerweiterung. Unterstützt $filter (eq ). |
id | String | Der eindeutige Bezeichner für die Schemaerweiterungsdefinition. Sie können einen Wert mit einer von zwei Methoden zuweisen:
$filter (eq ).
Hinweis: Es wird empfohlen, dass Ihre ID mit einem alphabetischen Buchstaben zwischen A-Z beginnt, da die Abfragefunktionen für IDs die mit ganzen Zahlen beginnen, eingeschränkt sein können. Unterstützt $filter (eq ). |
owner | Zeichenfolge | Die appId der Anwendung, die der Besitzer der Schemaerweiterung ist. Der Besitzer der Schemadefinition muss während der Erstellungs- und Aktualisierungsvorgänge explizit angegeben werden. Andernfalls wird er implizit und automatisch von Microsoft Entra ID wie folgt zugewiesen:
Wenn Sie also beispielsweise eine neue Schemaerweiterungsdefinition mithilfe von Graph Explorer erstellen, müssen Sie die Eigenschaft owner angeben. Wurde diese Eigenschaft einmal festgelegt, ist sie schreibgeschützt und kann nicht geändert werden. Unterstützt $filter (eq ). |
properties | extensionSchemaProperty-Sammlung | Die Sammlung von Eigenschaftennamen und Typen, die die Schemaerweiterungsdefinition bilden. |
status | String | Der Lebenszyklusstatus der Schemaerweiterung. Mögliche Statuswerte sind: InDevelopment , Available und Deprecated . Wird bei der Erstellung automatisch auf InDevelopment festgelegt. Weitere Informationen zu den möglichen Zustandsübergängen und Verhaltensweisen finden Sie unter Lebenszyklus von Schemaerweiterungen. Unterstützt $filter (eq ). |
targetTypes | String-Sammlung | Satz von Microsoft Graph-Typen (die Erweiterungen unterstützen können), auf die die Schemaerweiterung angewendet werden kann. Wählen Sie aus administrativeUnit, contact, device, event, group, message, organization, post, todoTask, todoTaskList oder user. |
Lebenszyklus von Schemaerweiterungen
Wenn Ihre App eine Schemaerweiterungsdefinition erstellt, wird sie als Besitzer dieser Schemaerweiterung markiert.
Die Besitzer-App kann anschließend einen PATCH-Vorgang auf die Erweiterungseigenschaft status anwenden, um die Erweiterung auf den jeweils gewünschten Lebenszyklusstatus zu setzen. Je nach dem aktuellen Status kann die Besitzer-App die Erweiterung möglicherweise aktualisieren oder löschen. Jegliche Aktualisierungen einer Schemaerweiterung sollten stets ausschließlich additiv und nicht destruktiv sein.
Status | Verhalten des Lebenszyklusstatus |
---|---|
InDevelopment |
|
Available |
|
Deprecated |
|
Hinweis
Schemaerweiterungsdefinitionen (als Available
gekennzeichnet), die von anderen Entwicklern aus anderen Mandanten erstellt wurden, sind für alle Entwickler sichtbar (durch Auflisten aller Schemaerweiterungen). Dies unterscheidet sich von anderen APIs, die nur mandantenspezifische Daten zurückgeben. Andererseits sind Erweiterungsdaten, die auf Grundlage von Schemaerweiterungsdefinitionen erstellt wurden, mandantenspezifisch und können nur von Apps aufgerufen werden, denen diese Berechtigung explizit erteilt wurde.
JSON-Darstellung
Die folgende JSON-Darstellung veranschaulicht den Ressourcentyp.
{
"description": "String",
"id": "String (identifier)",
"owner": "String",
"properties": [{"@odata.type": "microsoft.graph.extensionSchemaProperty"}],
"status": "String",
"targetTypes": ["String"]
}