Mettre à jour une extension ouverte
Espace de noms: microsoft.graph
Mettez à jour une extension ouverte (objet openTypeExtension ) sur un type de ressource pris en charge.
- 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.
- Sinon, cette propriété et ses données sont ajoutées à l’extension.
Les données d’une extension peuvent être des types primitifs ou des tableaux de types primitifs.
Consultez le tableau de la section Autorisations pour obtenir la liste des ressources qui prennent en charge les extensions ouvertes.
Cette API est disponible dans les déploiements de cloud national suivants.
Service global | Gouvernement des États-Unis L4 | Us Government L5 (DOD) | Chine gérée par 21Vianet |
---|---|---|---|
✅ | ✅ | ✅ | ✅ |
Autorisations
Selon la ressource dans laquelle l’extension a été créée et le type d’autorisation (délégué ou application) demandé, l’autorisation spécifiée dans le tableau suivant est la moins privilégiée requise pour appeler cette API. Pour en savoir plus, notamment sur les Mesures de prudence avant de choisir des autorisations plus privilégiées, recherchez ces autorisations dans Autorisations.
Ressource prise en charge | Déléguée (compte professionnel ou scolaire) | Déléguée (compte Microsoft personnel) | Application |
---|---|---|---|
appareil | Directory.AccessAsUser.All | Non pris en charge | Device.ReadWrite.All |
event | Calendars.ReadWrite | Calendars.ReadWrite | Calendars.ReadWrite |
group | Group.ReadWrite.All | Non pris en charge | Group.ReadWrite.All |
group event | Group.ReadWrite.All | Non pris en charge | Non pris en charge |
group post | Group.ReadWrite.All | Non pris en charge | Group.ReadWrite.All |
message | Mail.ReadWrite | Mail.ReadWrite | Mail.ReadWrite |
organization | Organization.ReadWrite.All | Non pris en charge | Organization.ReadWrite.All |
personal contact | Contacts.ReadWrite | Contacts.ReadWrite | Contacts.ReadWrite |
todoTask | Tasks.ReadWrite | Tasks.ReadWrite | Tasks.ReadWrite.All |
todoTaskList | Tasks.ReadWrite | Tasks.ReadWrite | Tasks.ReadWrite.All |
user | User.ReadWrite | User.ReadWrite | User.ReadWrite.All |
Requête HTTP
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.
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}
PATCH /users/me/todo/lists/{todoTaskListId}/tasks/{taskId}/extensions/{extensionId}
PATCH /users/me/todo/lists/{todoTaskListId}/extensions/{extensionId}
Note: La syntaxe ci-dessus montre quelques méthodes courantes pour identifier une instance de ressource, afin de mettre à jour une extension dans celle-ci. Toute autre syntaxe qui vous permet d’identifier ces instances de ressources prend en charge la mise à jour des extensions ouvertes dans celles-ci de la même manière.
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.
En-têtes de demande
Nom | Valeur |
---|---|
Autorisation | Porteur {token}. Obligatoire. En savoir plus sur l’authentification et l’autorisation. |
Content-Type | application/json |
Corps de la demande
Dans le corps de la demande, fournissez uniquement les valeurs des propriétés qui doivent être mises à jour. Les propriétés existantes qui ne sont pas incluses dans le corps de la demande conservent leurs valeurs précédentes ou sont recalculées en fonction des modifications apportées à d’autres valeurs de propriété.
Le tableau suivant spécifie les propriétés qui peuvent être mises à jour.
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.
Propriété | Type | Description |
---|---|---|
@odata.type | Chaîne | Doit être #microsoft.graph.openTypeExtension . Obligatoire. |
extensionName | String | Obligatoire si l’ID n’est pas fourni. Modifiable. |
id | Chaîne | Obligatoire si l’ID n’est pas fourni. En lecture seule. |
Pour les ressources qui sont des objets d’annuaire (ID Microsoft Entra) :
- Pour mettre à jour une propriété dans l’objet d’extension ouvert, vous devez spécifier toutes les propriétés dans le corps de la demande . sinon, Microsoft Graph supprime les propriétés non spécifiées.
- Pour supprimer des données d’une propriété dans l’objet d’extension ouvert, mais conserver la propriété, définissez sa valeur sur
null
. - Pour supprimer une propriété de l’objet d’extension ouvert, ne la transmettez pas dans le corps de la demande PATCH, et Microsoft Graph la supprime.
- Pour supprimer des données de toutes les propriétés de l’objet d’extension ouvert tout en conservant l’objet d’extension ouvert, mettez à jour les valeurs de toutes les propriétés sur
null
.
Pour les ressources Microsoft 365 telles que les messages :
- Vous pouvez spécifier un sous-ensemble des propriétés dans le corps de la demande pour les mettre à jour. Les propriétés omises et leurs valeurs sont conservées.
-
null
les valeurs ne sont pas autorisées.
Réponse
Si elle réussit, cette méthode renvoie un 204 No Content
code de réponse pour les objets d’annuaire ou un 200 OK
code de réponse et un objet openTypeExtension mis à jour pour d’autres ressources.
Exemple
Demande 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 :
{
"@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 :
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 :
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 :
- modifiant
companyName
en remplaçantWingtip Toys
parWingtip Toys (USA)
; - modifiant
dealValue
en remplaçant500050
par500100
; - ajoutant de nouvelles données en tant que propriété personnalisée
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 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.
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 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
:
{
"@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
:
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 2
Voici la réponse du deuxième exemple qui montre le expirationDate
mis à jour dans l’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"
]
}