Mettre à jour une extension ouverteUpdate open extension

Mettez à jour une extension d'ouverture (objetopenTypeExtension ) avec les propriétés dans le corps de la demande:Update an open extension (openTypeExtension object) with the properties in the request body:

  • Si une propriété dans le corps de la requête correspond au nom d’une propriété existante dans l’extension, les données dans l’extension sont mises à jour.If a property in the request body matches the name of an existing property in the extension, the data in the extension is updated.
  • Sinon, cette propriété et ses données sont ajoutées à l’extension.Otherwise that property and its data are added to the extension.

Les données dans une extension peuvent être des types primitifs ou des tableaux de types primitifs.The data in an extension can be primitive types, or arrays of primitive types.

AutorisationsPermissions

En fonction de la ressource dans laquelle l'extension a été créée et du type d'autorisation (délégué ou application) demandé, l'autorisation spécifiée dans le tableau suivant est le minimum de privilèges requis pour appeler cette API.Depending on the resource that the extension was created in and the permission type (delegated or application) requested, the permission specified in the following table is the least privileged required to call this API. Pour plus d’informations, notamment sur la façon de choisir les autorisations, voir Autorisations.To learn more, including how to choose permissions, see Permissions.

Ressource prise en chargeSupported resource Déléguée (compte professionnel ou scolaire)Delegated (work or school account) Déléguée (compte Microsoft personnel)Delegated (personal Microsoft account) ApplicationApplication
appareildevice Directory.AccessAsUser.AllDirectory.AccessAsUser.All Non pris en chargeNot supported Device.ReadWrite.AllDevice.ReadWrite.All
eventevent Calendars.ReadWriteCalendars.ReadWrite Calendars.ReadWriteCalendars.ReadWrite Calendars.ReadWriteCalendars.ReadWrite
groupgroup Group.ReadWrite.AllGroup.ReadWrite.All Non pris en chargeNot supported Group.ReadWrite.AllGroup.ReadWrite.All
group eventgroup event Group.ReadWrite.AllGroup.ReadWrite.All Non pris en chargeNot supported Non pris en chargeNot supported
group postgroup post Group.ReadWrite.AllGroup.ReadWrite.All Non pris en chargeNot supported Group.ReadWrite.AllGroup.ReadWrite.All
messagemessage Mail.ReadWriteMail.ReadWrite Mail.ReadWriteMail.ReadWrite Mail.ReadWriteMail.ReadWrite
organizationorganization Directory.AccessAsUser.AllDirectory.AccessAsUser.All Non pris en chargeNot supported Non pris en chargeNot supported
personal contactpersonal contact Contacts.ReadWriteContacts.ReadWrite Contacts.ReadWriteContacts.ReadWrite Contacts.ReadWriteContacts.ReadWrite
utilisateuruser User.ReadWrite.AllUser.ReadWrite.All User.ReadWriteUser.ReadWrite User.ReadWrite.AllUser.ReadWrite.All

Requête HTTPHTTP request

Dans la demande, identifiez l’instance de la ressource, utilisez la propriété de navigation extensions de cette instance pour identifier l’extension et effectuez une PATCH sur cette instance d’extension.In the request, identify the resource instance, use the extensions navigation property of that instance to identify the extension, and do a PATCH on that extension instance.

PATCH /devices/{Id}/extensions/{extensionId}
PATCH /users/{id|userPrincipalName}/events/{id}/extensions/{extensionId}
PATCH /groups/{id}/extensions/{extensionId}
PATCH /groups/{id}/events/{id}/extensions/{extensionId}
PATCH /groups/{id}/threads/{id}/posts/{id}/extensions/{extensionId}
PATCH /users/{id|userPrincipalName}/messages/{id}/extensions/{extensionId}
PATCH /organization/{Id}/extensions/{extensionId}
PATCH /users/{id|userPrincipalName}/contacts/{id}/extensions/{extensionId}
PATCH /users/{id|userPrincipalName}/extensions/{extensionId}

Remarque: La syntaxe ci-dessus illustre quelques méthodes courantes pour identifier une instance de ressource, afin de mettre à jour une extension de celle-ci.Note: The above syntax shows some common ways to identify a resource instance, in order to update an extension in it. Toutes les autres syntaxes qui vous permettent d'identifier ces instances de ressource prennent en charge la mise à jour des extensions d'ouverture de celles-ci de façon similaire.All other syntax that allows you to identify these resource instances supports updating open extensions in them in a similar way.

Voir la section Corps de la demande concernant l’inclusion dans le corps de la demande de données personnalisées à modifier ou à ajouter à cette extension.See the Request body section about including in the request body any custom data to change or add to that extension.

Paramètres du chemin d’accèsPath parameters

ParamètreParameter TypeType DescriptionDescription
idid stringstring Un identificateur unique pour une instance de la collection correspondante. Obligatoire.A unique identifier for an instance of the corresponding collection. Required.
extensionIdextensionId stringstring Cela peut être un nom d’extension qui est un identificateur de texte unique pour une extension ou un nom complet qui concatène l’identificateur de texte unique et le type d’extension. Le nom complet est renvoyé dans la propriété id lorsque vous créez l’extension. Obligatoire.This can be an extension name which is a unique text identifier for an extension, or a fully qualified name which concatenates the extension type and unique text identifier. The fully qualified name is returned in the id property when you create the extension. Required.

En-têtes de demandeRequest headers

NomName ValeurValue
AutorisationAuthorization Porteur {token}. Obligatoire.Bearer {token}. Required.
Content-TypeContent-Type application/jsonapplication/json

Corps de la demandeRequest body

Fournissez un corps JSON d’un objet openTypeExtension, avec les paires nom-valeur requises suivantes et toutes les données personnalisées pour modifier ou ajouter cette extension. Les données dans la charge utile JSON peuvent être des types primitifs ou des tableaux de types primitifs.Provide a JSON body of an openTypeExtension object, with the following required name-value pairs, and any custom data to change or add to that extension. The data in the JSON payload can be primitive types, or arrays of primitive types.

NomName ValeurValue
@odata.type@odata.type microsoft.graph.openTypeExtensionmicrosoft.graph.openTypeExtension
extensionNameextensionName % unique_string %%unique_string%

RéponseResponse

Si elle réussit, cette méthode renvoie un code de réponse 200 OK et l’objet openTypeExtension mis à jour.If successful, this method returns a 200 OK response code and the updated openTypeExtension object.

ExempleExample

Demande 1Request 1

Le premier exemple montre comment mettre à jour une extension dans un message. L’extension est initialement représentée par la charge utile JSON suivante :The first example shows how to update an extension in a message. The extension is initially represented by the following JSON payload:

{
    "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#Me/messages('AAMkAGE1M2IyNGNmLTI5MTktNDUyZi1iOTVl===')/extensions/$entity",
    "@odata.type": "#microsoft.graph.openTypeExtension",
    "@odata.id": "https://graph.microsoft.com/v1.0/users('ddfc984d-b826-40d7-b48b-57002df85e00@1717f226-49d1-4d0c-9d74-709fad6677b4')/messages('AAMkAGE1M2IyNGNmLTI5MTktNDUyZi1iOTVl===')/extensions
('Microsoft.OutlookServices.OpenTypeExtension.Com.Contoso.Referral')",
    "extensionName": "Com.Contoso.Referral",
    "id": "Microsoft.OutlookServices.OpenTypeExtension.Com.Contoso.Referral",
    "companyName": "Wingtip Toys",
    "dealValue": 500050,
    "expirationDate": "2015-12-03T10:00:00Z"
}

Vous pouvez faire référence à l’extension par son nom :You can reference the extension by its name:

PATCH https://graph.microsoft.com/v1.0/me/messages/AAMkAGE1M2IyNGNmLTI5MTktNDUyZi1iOTVl===/extensions/Com.Contoso.Referral

Ou vous pouvez faire référence à l’extension par son nom complet :Or you can reference the extension by its fully qualified name:

PATCH https://graph.microsoft.com/v1.0/me/messages/AAMkAGE1M2IyNGNmLTI5MTktNDUyZi1iOTVl===/extensions/Microsoft.OutlookServices.OpenTypeExtension.Com.Contoso.Referral

Vous pouvez utiliser l’un des deux exemples de demande et le corps de la requête suivant pour mettre à jour l’extension ci-dessus en :You can use either example request and the following request body to update the above extension by:

  • modifiant companyName en remplaçant Wingtip Toys par Wingtip Toys (USA);Changing companyName from Wingtip Toys to Wingtip Toys (USA)
  • modifiant dealValue en remplaçant 500050 par 500100;Changing dealValue from 500050 to 500100
  • ajoutant de nouvelles données en tant que propriété personnalisée updated.Adding new data as the custom property updated
{
    "@odata.type": "microsoft.graph.openTypeExtension",
    "extensionName": "Com.Contoso.Referral",
    "companyName": "Wingtip Toys (USA)",
    "dealValue": "500100",
    "expirationDate": "2015-12-03T10:00:00.000Z",
    "updated": "2015-10-29T11:00:00.000Z"
} 

Réponse 1Response 1

Voici la réponse qui est la même quelle que soit la méthode utilisée pour faire référence à l’extension.Here is the response which is the same regardless of the way used to reference the extension.

HTTP/1.1 200 OK
Content-type: application/json

{
    "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#Me/messages('AAMkAGE1M2IyNGNmLTI5MTktNDUyZi1iOTVl===')/extensions/$entity",
    "@odata.type": "#microsoft.graph.openTypeExtension",
    "@odata.id": "https://graph.microsoft.com/v1.0/users('ddfc984d-b826-40d7-b48b-57002df85e00@1717f226-49d1-4d0c-9d74-709fad6677b4')/messages('AAMkAGE1M2IyNGNmLTI5MTktNDUyZi1iOTVl===')/extensions
('Microsoft.OutlookServices.OpenTypeExtension.Com.Contoso.Referral')",
    "id": "Microsoft.OutlookServices.OpenTypeExtension.Com.Contoso.Referral",
    "extensionName": "Com.Contoso.Referral",
    "companyName": "Wingtip Toys (USA)",
    "dealValue": 500100,
    "expirationDate": "2015-12-03T10:00:00Z",
    "updated": "2015-10-29T11:00:00.000Z"
}

Demande 2Request 2

Le deuxième exemple montre comment mettre à jour une extension dans un billet de groupe. L’extension est initialement représentée par la charge utile JSON suivante, avec une valeur expirationDate de 2015-07-03T13:04:00Z:The second example shows how to update an extension in a group post. The extension is initially represented by the following JSON payload, with an expirationDate value of 2015-07-03T13:04:00Z:

{
    "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#groups('37df2ff0-0de0-4c33-8aee-75289364aef6')/threads('AAQkADJizZJpEWwqDHsEpV_KA%3D%3D')/posts('AAMkADJiUg96QZUkA-ICwMubAADDEd7UAAA%3D')/extensions/$entity",
    "@odata.type": "#microsoft.graph.openTypeExtension",
    "id": "Microsoft.OutlookServices.OpenTypeExtension.Com.Contoso.Estimate",
    "extensionName": "Com.Contoso.Estimate",
    "companyName": "Contoso",
    "expirationDate": "2015-07-03T13:04:00Z",
    "DealValue": 1010100,
    "Strings@odata.type": "#Collection(String)",
    "topPicks": [
        "Employees only",
        "Add spouse or guest",
        "Add family"
    ]
}

Voici la demande et le corps de la requête à modifier en remplaçant expirationDate par 2016-07-30T11:00:00Z:The following is the request and request body to change the expirationDate to 2016-07-30T11:00:00Z:

PATCH https://graph.microsoft.com/v1.0/groups/37df2ff0-0de0-4c33-8aee-75289364aef6/threads/AAQkADJizZJpEWwqDHsEpV_KA==/posts/AAMkADJiUg96QZUkA-ICwMubAADDEd7UAAA=/extensions/Microsoft.OutlookServices.OpenTypeExtension.Com.Contoso.Estimate
Content-type: application/json

{
   "@odata.type": "Microsoft.OutlookServices.OpenTypeExtension",
   "extensionName": "Com.Contoso.Estimate",
   "companyName": "Contoso",
   "expirationDate": "2016-07-30T11:00:00.000Z",
   "DealValue": 1010100,
   "topPicks": [
       "Employees only",
       "Add spouse or guest",
       "Add family"
    ]
}

Réponse 2Response 2

Voici la réponse du deuxième exemple qui montre le expirationDate mis à jour dans l’extension.Here is the response of the second example which shows the updated expirationDate in the extension.

HTTP/1.1 200 OK
Content-Type: application/json

{
    "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#groups('37df2ff0-0de0-4c33-8aee-75289364aef6')/threads('AAQkADJizZJpEWwqDHsEpV_KA%3D%3D')/posts('AAMkADJiUg96QZUkA-ICwMubAADDEd7UAAA%3D')/extensions/$entity",
    "@odata.type": "#microsoft.graph.openTypeExtension",
    "id": "Microsoft.OutlookServices.OpenTypeExtension.Com.Contoso.Estimate",
    "extensionName": "Com.Contoso.Estimate",
    "companyName": "Contoso",
    "expirationDate": "2016-07-30T11:00:00Z",
    "DealValue": 1010100,
    "Strings@odata.type": "#Collection(String)",
    "topPicks": [
        "Employees only",
        "Add spouse or guest",
        "Add family"
    ]
}