Mettez à jour les propriétés dans la définition du schemaExtension spécifié. Les mises à jour additives de l’extension ne peuvent être effectuées que lorsque l’extension est dans l’état InDevelopment ou Available . Cela signifie que les propriétés personnalisées ou les types de ressources cibles ne peuvent pas être supprimés de la définition, mais que de nouvelles propriétés personnalisées peuvent être ajoutées et la description de l’extension modifiée.
La mise à jour s’applique à toutes les ressources incluses dans la propriété targetTypes de l’extension. Ces ressources font partie des types de ressources de prise en charge.
Pour les flux délégués, l’utilisateur connecté peut mettre à jour une extension de schéma tant que la propriété propriétaire de l’extension est définie sur appId d’une application dont l’utilisateur connecté est propriétaire. Cette application peut être celle qui a initialement créé l’extension, ou une autre application appartenant à l’utilisateur connecté.
Ce critère pour la propriété propriétaire permet à un utilisateur connecté d’effectuer des mises à jour via d’autres applications dont il n’est pas propriétaire, telles que l’Explorateur Microsoft Graph. Lorsque vous utilisez l’Explorateur Graph pour mettre à jour une ressource schemaExtension , incluez la propriété owner dans le corps de la requête PATCH.
Dans le corps de la demande, fournissez les valeurs pour les champs appropriés qui doivent être mis à jour. Les propriétés existantes qui ne sont pas incluses dans le corps de la demande conserveront leurs valeurs précédentes ou seront recalculées en fonction des modifications apportées à d’autres valeurs des propriétés. Pour de meilleures performances, n’incluez pas de valeurs existantes qui n’ont pas changé.
Collection de types et de noms de propriété qui composent la définition d’extension de schéma. Seules les modifications additives sont autorisées.
status
Chaîne
État du cycle de vie de l’extension du schéma. L’état initial lors de la création est InDevelopment. Les transitions d’états possibles sont de InDevelopment à Available et Available à Deprecated.
targetTypes
String collection
Définissez des types de Microsoft Graph (prenant en charge les extensions) auxquels peut s’appliquer l’extension de schéma. Seules les modifications additives sont autorisées.
Réponse
Si elle réussit, cette méthode renvoie un code de réponse 204 No Content. Si vous tentez d’exécuter cette requête à partir d’une application dont vous n’êtes pas propriétaire (et sans affecter à la propriété owner la valeur appId d’une application que vous possédez), retourne un 403 Forbidden code de réponse.
Exemple
Demande
L’exemple suivant illustre une demande. Vous devez inclure la propriété owner si vous exécutez la requête à partir d’une application dont vous n’êtes pas propriétaire. Dans ce cas, définissez la propriété owner sur l’appId d’une application dont vous êtes propriétaire.
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Models;
var requestBody = new SchemaExtension
{
Owner = "ef4cb9a8-97c3-4ca7-854b-5cb5ced376fa",
Properties = new List<ExtensionSchemaProperty>
{
new ExtensionSchemaProperty
{
Name = "courseId",
Type = "Integer",
},
new ExtensionSchemaProperty
{
Name = "courseName",
Type = "String",
},
new ExtensionSchemaProperty
{
Name = "courseType",
Type = "String",
},
new ExtensionSchemaProperty
{
Name = "courseSupervisors",
Type = "String",
},
},
};
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
var result = await graphClient.SchemaExtensions["{schemaExtension-id}"].PatchAsync(requestBody);
// Code snippets are only available for the latest major version. Current major version is $v1.*
// Dependencies
import (
"context"
msgraphsdk "github.com/microsoftgraph/msgraph-sdk-go"
graphmodels "github.com/microsoftgraph/msgraph-sdk-go/models"
//other-imports
)
requestBody := graphmodels.NewSchemaExtension()
owner := "ef4cb9a8-97c3-4ca7-854b-5cb5ced376fa"
requestBody.SetOwner(&owner)
extensionSchemaProperty := graphmodels.NewExtensionSchemaProperty()
name := "courseId"
extensionSchemaProperty.SetName(&name)
type := "Integer"
extensionSchemaProperty.SetType(&type)
extensionSchemaProperty1 := graphmodels.NewExtensionSchemaProperty()
name := "courseName"
extensionSchemaProperty1.SetName(&name)
type := "String"
extensionSchemaProperty1.SetType(&type)
extensionSchemaProperty2 := graphmodels.NewExtensionSchemaProperty()
name := "courseType"
extensionSchemaProperty2.SetName(&name)
type := "String"
extensionSchemaProperty2.SetType(&type)
extensionSchemaProperty3 := graphmodels.NewExtensionSchemaProperty()
name := "courseSupervisors"
extensionSchemaProperty3.SetName(&name)
type := "String"
extensionSchemaProperty3.SetType(&type)
properties := []graphmodels.ExtensionSchemaPropertyable {
extensionSchemaProperty,
extensionSchemaProperty1,
extensionSchemaProperty2,
extensionSchemaProperty3,
}
requestBody.SetProperties(properties)
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=go
schemaExtensions, err := graphClient.SchemaExtensions().BySchemaExtensionId("schemaExtension-id").Patch(context.Background(), requestBody, nil)
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
SchemaExtension schemaExtension = new SchemaExtension();
schemaExtension.setOwner("ef4cb9a8-97c3-4ca7-854b-5cb5ced376fa");
LinkedList<ExtensionSchemaProperty> properties = new LinkedList<ExtensionSchemaProperty>();
ExtensionSchemaProperty extensionSchemaProperty = new ExtensionSchemaProperty();
extensionSchemaProperty.setName("courseId");
extensionSchemaProperty.setType("Integer");
properties.add(extensionSchemaProperty);
ExtensionSchemaProperty extensionSchemaProperty1 = new ExtensionSchemaProperty();
extensionSchemaProperty1.setName("courseName");
extensionSchemaProperty1.setType("String");
properties.add(extensionSchemaProperty1);
ExtensionSchemaProperty extensionSchemaProperty2 = new ExtensionSchemaProperty();
extensionSchemaProperty2.setName("courseType");
extensionSchemaProperty2.setType("String");
properties.add(extensionSchemaProperty2);
ExtensionSchemaProperty extensionSchemaProperty3 = new ExtensionSchemaProperty();
extensionSchemaProperty3.setName("courseSupervisors");
extensionSchemaProperty3.setType("String");
properties.add(extensionSchemaProperty3);
schemaExtension.setProperties(properties);
SchemaExtension result = graphClient.schemaExtensions().bySchemaExtensionId("{schemaExtension-id}").patch(schemaExtension);
# Code snippets are only available for the latest version. Current version is 1.x
from msgraph import GraphServiceClient
from msgraph.generated.models.schema_extension import SchemaExtension
from msgraph.generated.models.extension_schema_property import ExtensionSchemaProperty
# To initialize your graph_client, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
request_body = SchemaExtension(
owner = "ef4cb9a8-97c3-4ca7-854b-5cb5ced376fa",
properties = [
ExtensionSchemaProperty(
name = "courseId",
type = "Integer",
),
ExtensionSchemaProperty(
name = "courseName",
type = "String",
),
ExtensionSchemaProperty(
name = "courseType",
type = "String",
),
ExtensionSchemaProperty(
name = "courseSupervisors",
type = "String",
),
],
)
result = await graph_client.schema_extensions.by_schema_extension_id('schemaExtension-id').patch(request_body)