Obtenir l’objet singleValueLegacyExtendedProperty

Espace de noms: microsoft.graph

Vous pouvez obtenir une instance de ressource étendue avec une propriété étendue spécifique ou une collection d’instances de ressources incluant des propriétés étendues correspondant à un filtre.

À l’aide du paramètre de requête $expand, vous pouvez obtenir l’instance de ressource spécifiée développée avec une propriété étendue spécifique. Utilisez les opérateurs $filter et eq sur la propriétéid pour spécifier la propriété étendue. C’est actuellement le seul moyen d’obtenir l’objet singleValueLegacyExtendedProperty qui représente une propriété étendue.

Pour obtenir des instances de ressources présentant certaines propriétés étendues, utilisez le paramètre de requête $filter et appliquez l’opérateur eq à la propriété id. En outre, pour les propriétés étendues numériques, appliquez l’un des opérateurs suivants à la propriété value : eq, ne,ge, gt, le ou lt. Pour les propriétés étendues de type chaîne, appliquez l’opérateur contains, startswith, eq ou ne à la propriété value.

Le filtre est appliqué à toutes les instances de la ressource dans la boîte aux lettres de l’utilisateur connecté.

Dans les filtres, le nom de chaîne (Name) défini dans la propriété id d’une propriété étendue doit respecter la casse. Dans les filtres, la propriété value d’une propriété étendue doit respecter la casse.

Les ressources utilisateur suivantes sont prises en charge :

Les ressources de groupe suivantes sont également prises en charge :

Consultez la rubrique relative à la vue d’ensemble des propriétés étendues pour savoir quand utiliser les extensions d’ouverture ou les propriétés étendues, et comment spécifier les propriétés étendues.

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 à partir de laquelle vous obtenez la propriété étendue et le type d’autorisation (délégué ou application) que vous demandez, l’autorisation spécifiée dans le tableau suivant est la valeur minimale requise pour appeler cette API. Pour plus d’informations, notamment sur la façon de choisir les autorisations, voir Autorisations.

Ressource prise en charge Déléguée (compte professionnel ou scolaire) Déléguée (compte Microsoft personnel) Application
calendar Calendars.Read Calendars.Read Calendars.Read
contact Contacts.Read Contacts.Read Contacts.Read
contactFolder Contacts.Read Contacts.Read Contacts.Read
event Calendars.Read Calendars.Read Calendars.Read
group calendar Group.Read.All Non pris en charge Non pris en charge
group event Group.Read.All Non pris en charge Non pris en charge
group post Group.Read.All Non pris en charge Group.Read.All
mailFolder Mail.Read Mail.Read Mail.Read
message Mail.Read Mail.Read Mail.Read

Requête HTTP

Obtenir (GET) une instance de ressource développée avec une propriété étendue qui correspond à un filtre

Obtenez une instance de la ressource développée avec la propriété étendue qui correspond à un filtre sur la propriété id. Veillez à appliquer le codage URL aux espaces dans la chaîne de filtre.

Obtenir une instance message :

GET /me/messages/{id}?$expand=singleValueExtendedProperties($filter=id eq '{id_value}')
GET /users/{id|userPrincipalName}/messages/{id}?$expand=singleValueExtendedProperties($filter=id eq '{id_value}')
GET /me/mailFolders/{id}/messages/{id}?$expand=singleValueExtendedProperties($filter=id eq '{id_value}')

Obtenir une instance mailFolder :

GET /me/mailFolders/{id}?$expand=singleValueExtendedProperties($filter=id eq '{id_value}')
GET /users/{id|userPrincipalName}/mailFolders/{id}?$expand=singleValueExtendedProperties($filter=id eq '{id_value}')

Obtenir une instance event :

GET /me/events/{id}?$expand=singleValueExtendedProperties($filter=id eq '{id_value}')
GET /users/{id|userPrincipalName}/events/{id}?$expand=singleValueExtendedProperties($filter=id eq '{id_value}')

Obtenir une instance calendar :

GET /me/calendars/{id}?$expand=singleValueExtendedProperties($filter=id eq '{id_value}')
GET /users/{id|userPrincipalName}/calendars/{id}?$expand=singleValueExtendedProperties($filter=id eq '{id_value}')

Obtenir une instance contact :

GET /me/contacts/{id}?$expand=singleValueExtendedProperties($filter=id eq '{id_value}')
GET /users/{id|userPrincipalName}/contacts/{id}?$expand=singleValueExtendedProperties($filter=id eq '{id_value}')
GET /me/contactFolders/{id}/contacts/{id}?$expand=singleValueExtendedProperties($filter=id eq '{id_value}')
GET /users/{id|userPrincipalName}/contactFolders/{id}/contacts/{id}?$expand=singleValueExtendedProperties($filter=id eq '{id_value}')

Obtenir une instance contactFolder :

GET /me/contactfolders/{id}?$expand=singleValueExtendedProperties($filter=id eq '{id_value}')
GET /users/{id|userPrincipalName}/contactFolders/{id}?$expand=singleValueExtendedProperties($filter=id eq '{id_value}')

Obtenir une instance de groupe event :

GET /groups/{id}/events/{id}?$expand=singleValueExtendedProperties($filter=id eq '{id_value}')

Obtenir une instance de groupe post :

GET /groups/{id}/threads/{id}/posts/{id}?$expand=singleValueExtendedProperties($filter=id eq '{id_value}')
GET /groups/{id}/conversations/{id}/threads/{id}/posts/{id}?$expand=singleValueExtendedProperties($filter=id eq '{id_value}')

Obtenir (GET) des instances de ressources incluant des propriétés étendues numériques qui correspondent à un filtre

Obtenez des instances d’une ressource prise en charge dont une propriété étendue numérique correspond à un filtre. Le filtre utilise l’opérateur eq sur la propriété id et l’un des opérateurs suivants sur la propriété value : eq, ne,ge, gt, le ou lt. Veillez à appliquer le codage URL aux caractères suivants dans la chaîne de filtre (deux-points, barre oblique et espace).

Les lignes de syntaxe suivantes affichent un filtre qui utilise un opérateur eq sur l’ID et un autre opérateur eq sur la valeur de propriété. Vous pouvez remplacer l’opérateur eq appliqué à la propriété value par l’un des autres opérateurs (ne, ge, gt, le ou lt) qui s’appliquent aux valeurs numériques.

Obtenir des instances message :

GET /me/messages?$filter=singleValueExtendedProperties/Any(ep: ep/id eq '{id_value}' and ep/value eq '{property_value}')
GET /users/{id|userPrincipalName}/messages?$filter=singleValueExtendedProperties/Any(ep: ep/id eq '{id_value}' and ep/value eq '{property_value}')
GET /me/mailFolders/{id}/messages?$filter=singleValueExtendedProperties/Any(ep: ep/id eq '{id_value}' and ep/value eq '{property_value}')

Obtenir des instances mailFolder :

GET /me/mailFolders?$filter=singleValueExtendedProperties/Any(ep: ep/id eq '{id_value}' and ep/value eq '{property_value}')
GET /users/{id|userPrincipalName}/mailFolders?$filter=singleValueExtendedProperties/Any(ep: ep/id eq '{id_value}' and ep/value eq '{property_value}')

Obtenir des instances event :

GET /me/events?$filter=singleValueExtendedProperties/Any(ep: ep/id eq '{id_value}' and ep/value eq '{property_value}')
GET /users/{id|userPrincipalName}/events?$filter=singleValueExtendedProperties/Any(ep: ep/id eq '{id_value}' and ep/value eq '{property_value}')

Obtenir des instances calendar :

GET /me/calendars?$filter=singleValueExtendedProperties/Any(ep: ep/id eq '{id_value}' and ep/value eq '{property_value}')
GET /users/{id|userPrincipalName}/calendars?$filter=singleValueExtendedProperties/Any(ep: ep/id eq '{id_value}' and ep/value eq '{property_value}')

Obtenir des instances contact :

GET /me/contacts?$filter=singleValueExtendedProperties/Any(ep: ep/id eq '{id_value}' and ep/value eq '{property_value}')
GET /users/{id|userPrincipalName}/contacts?$filter=singleValueExtendedProperties/Any(ep: ep/id eq '{id_value}' and ep/value eq '{property_value}')
GET /me/contactFolders/{id}/contacts?$filter=singleValueExtendedProperties/Any(ep: ep/id eq '{id_value}' and ep/value eq '{property_value}')
GET /users/{id|userPrincipalName}/contactFolders/{id}/contacts?$filter=singleValueExtendedProperties/Any(ep: ep/id eq '{id_value}' and ep/value eq '{property_value}')

Obtenir des instances contactFolder :

GET /me/contactfolders?$filter=singleValueExtendedProperties/Any(ep: ep/id eq '{id_value}' and ep/value eq '{property_value}')
GET /users/{id|userPrincipalName}/contactFolders?$filter=singleValueExtendedProperties/Any(ep: ep/id eq '{id_value}' and ep/value eq '{property_value}')

Obtenir des instances de groupe event :

GET /groups/{id}/events?$filter=singleValueExtendedProperties/Any(ep: ep/id eq '{id_value}' and ep/value eq '{property_value}')

Obtenir des instances de groupe post :

GET /groups/{id}/threads/{id}/posts?$filter=singleValueExtendedProperties/Any(ep: ep/id eq '{id_value}' and ep/value eq '{property_value}')
GET /groups/{id}/conversations/{id}/threads/{id}/posts?$filter=singleValueExtendedProperties/Any(ep: ep/id eq '{id_value}' and ep/value eq '{property_value}')

Obtenir (GET) des instances de ressource comportant des propriétés étendues de type chaîne qui correspondent à un filtre

Obtenez des instances de la ressource message ou event comportant une propriété étendue de type chaîne qui correspond à un filtre. Le filtre utilise l’opérateur eq sur la propriété id et l’un des opérateurs suivants sur la propriété value : contains, startswith,eq ou ne. Veillez à appliquer le codage URL aux caractères suivants dans la chaîne de filtre (deux-points, barre oblique et espace).

Obtenir des instances message :

GET /me/messages?$filter=singleValueExtendedProperties/Any(ep: ep/id eq '{id_value}' and contains(ep/value, '{property_value}'))
GET /users/{id|userPrincipalName}/messages?$filter=singleValueExtendedProperties/Any(ep: ep/id eq '{id_value}' and contains(ep/value, '{property_value}'))
GET /me/mailFolders/{id}/messages?$filter=singleValueExtendedProperties/Any(ep: ep/id eq '{id_value}' and contains(ep/value, '{property_value}'))

GET /me/messages?$filter=singleValueExtendedProperties/Any(ep: ep/id eq '{id_value}' and startswith(ep/value, '{property_value}'))
GET /users/{id|userPrincipalName}/messages?$filter=singleValueExtendedProperties/Any(ep: ep/id eq '{id_value}' and startswith(ep/value, '{property_value}'))
GET /me/mailFolders/{id}/messages?$filter=singleValueExtendedProperties/Any(ep: ep/id eq '{id_value}' and startswith(ep/value, '{property_value}'))

GET /me/messages?$filter=singleValueExtendedProperties/Any(ep: ep/id eq '{id_value}' and ep/value eq '{property_value}')
GET /users/{id|userPrincipalName}/messages?$filter=singleValueExtendedProperties/Any(ep: ep/id eq '{id_value}' and ep/value eq '{property_value}')
GET /me/mailFolders/{id}/messages?$filter=singleValueExtendedProperties/Any(ep: ep/id eq '{id_value}' and ep/value eq '{property_value}')

GET /me/messages?$filter=singleValueExtendedProperties/Any(ep: ep/id eq '{id_value}' and ep/value ne '{property_value}')
GET /users/{id|userPrincipalName}/messages?$filter=singleValueExtendedProperties/Any(ep: ep/id eq '{id_value}' and ep/value ne '{property_value}')
GET /me/mailFolders/{id}/messages?$filter=singleValueExtendedProperties/Any(ep: ep/id eq '{id_value}' and ep/value ne '{property_value}')

Obtenir des instances event :

GET /me/events?$filter=singleValueExtendedProperties/Any(ep: ep/id eq '{id_value}' and contains(ep/value, '{property_value}'))
GET /users/{id|userPrincipalName}/events?$filter=singleValueExtendedProperties/Any(ep: ep/id eq '{id_value}' and contains(ep/value, '{property_value}'))

GET /me/events?$filter=singleValueExtendedProperties/Any(ep: ep/id eq '{id_value}' and startswith(ep/value, '{property_value}'))
GET /users/{id|userPrincipalName}/events?$filter=singleValueExtendedProperties/Any(ep: ep/id eq '{id_value}' and startswith(ep/value, '{property_value}'))

GET /me/events?$filter=singleValueExtendedProperties/Any(ep: ep/id eq '{id_value}' and ep/value eq '{property_value}')
GET /users/{id|userPrincipalName}/events?$filter=singleValueExtendedProperties/Any(ep: ep/id eq '{id_value}' and ep/value eq '{property_value}')

GET /me/events?$filter=singleValueExtendedProperties/Any(ep: ep/id eq '{id_value}' and ep/value ne '{property_value}')
GET /users/{id|userPrincipalName}/events?$filter=singleValueExtendedProperties/Any(ep: ep/id eq '{id_value}' and ep/value ne '{property_value}')

Obtenir des instances de groupe event :

GET /groups/{id}/events?$filter=singleValueExtendedProperties/Any(ep: ep/id eq '{id_value}' and contains(ep/value, '{property_value}'))
GET /groups/{id}/events?$filter=singleValueExtendedProperties/Any(ep: ep/id eq '{id_value}' and startswith(ep/value, '{property_value}'))
GET /groups/{id}/events?$filter=singleValueExtendedProperties/Any(ep: ep/id eq '{id_value}' and ep/value eq '{property_value}')
GET /groups/{id}/events?$filter=singleValueExtendedProperties/Any(ep: ep/id eq '{id_value}' and ep/value ne '{property_value}')

Paramètres du chemin d’accès

Paramètre Type Description
id_value String L’ID de la propriété étendue à faire correspondre. Il doit suivre l’un des formats pris en charge. Voir Vue d’ensemble des propriétés étendues Outlook pour plus d’informations. Obligatoire.
property_value String Valeur de la propriété étendue à faire correspondre. Obligatoire lorsqu’elle figure dans la section Requête HTTP ci-dessus. Si l’élément {property_value} n’est pas une chaîne, veillez à convertir ep/value de manière explicite au type de données Edm approprié lors de la comparaison avec {property_value}. Consultez la demande 4 ci-dessous pour obtenir des exemples.

En-têtes de demande

Nom Description
Autorisation Porteur {token}. Obligatoire. En savoir plus sur l’authentification et l’autorisation.

Corps de la demande

N’indiquez pas le corps de la demande pour cette méthode.

Réponse

En cas de réussite, cette méthode renvoie un code de réponse 200 OK.

Obtenir (GET) une instance de ressource connue développée avec une propriété étendue qui correspond à un filtre

Le corps de la réponse comprend un objet représentant l’instance de la ressource demandée, développée avec l’objet singleValueLegacyExtendedProperty correspondant.

Obtenir (GET) des instances de ressources contenant une propriété étendue qui correspond à un filtre

Le corps de la réponse comprend un ou plusieurs objets représentant les instances de la ressource qui contiennent une propriété étendue correspondant à un filtre. Le corps de la réponse n’inclut pas la propriété étendue.

Exemple

Demande 1

Le premier exemple obtient et développe le message spécifié en incluant une propriété étendue à valeur simple. Le filtre renvoie la propriété étendue dont l’id correspond à la chaîne String {66f5a359-4659-4830-9070-00047ec6ac6e} Name Color (avec le codage URL supprimé ici pour une meilleure lisibilité).

GET https://graph.microsoft.com/v1.0/me/messages/AAMkAGE1M2_bs88AACHsLqWAAA=?$expand=singleValueExtendedProperties($filter=id%20eq%20'String%20{66f5a359-4659-4830-9070-00047ec6ac6e}%20Name%20Color')

Réponse 1

Le corps de la réponse inclut toutes les propriétés de la propriété étendue et du message spécifiés qui ont été renvoyées par le filtre.

Remarque : L’objet de message présenté ici est tronqué par souci de concision. Toutes les propriétés sont renvoyées à partir d’un appel réel.

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

{
    "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#Me/messages/$entity",
    "@odata.id": "https://graph.microsoft.com/v1.0/users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/messages('AAMkAGE1M2_bs88AACHsLqWAAA=')",
    "@odata.etag": "W/\"CQAAABYAAACY4MQpaFz9SbqUDe4+bs88AACbyS4H\"",
    "id": "AAMkAGE1M2_bs88AACHsLqWAAA=",
    "subject": "RE: Talk about emergency prep",
    "sender": {
        "emailAddress": {
            "name": "Christine Irwin",
            "address": "christine@contoso.com"
        }
    },
    "from": null,
    "toRecipients": [
        {
            "emailAddress": {
                "name": "Christine Irwin",
                "address": "christine@contoso.com"
            }
        }
    ],
    "singleValueExtendedProperties": [
        {
            "id": "String {66f5a359-4659-4830-9070-00047ec6ac6e} Name Color",
            "value": "Green"
        }
    ]
}

Demande 2

Le deuxième exemple montre comment obtenir les messages qui possèdent la propriété étendue à valeur unique de type chaîne spécifiée dans le filtre. Le filtre recherche la propriété étendue qui possède les éléments suivants :

  • un élément id égal à la chaîne String {66f5a359-4659-4830-9070-00047ec6ac6e} Name Color (le codage URL est ici supprimé pour une meilleure lisibilité) ;

  • un élément value égal à la chaîne Green.

GET https://graph.microsoft.com/v1.0/me/messages?$filter=singleValueExtendedProperties%2FAny(ep%3A%20ep%2Fid%20eq%20'String%20{66f5a359-4659-4830-9070-00047ec6ac6e}%20Name%20Color'%20and%20ep%2Fvalue%20eq%20'Green')

Réponse 2

En cas de réussite, la réponse renvoie un code HTTP 200 OK et le corps de la réponse comprend toutes les propriétés des messages dont la propriété étendue correspond au filtre. Le corps de la réponse est semblable à celui de la réponse reçue lors de l’obtention d’une collection d’objets « message ». La réponse n’inclut pas la propriété étendue correspondante.

Demande 3

Le troisième exemple montre comment obtenir les messages qui possèdent la propriété étendue de type chaîne à valeur unique spécifiée dans le filtre. Le filtre recherche la propriété étendue qui possède les éléments suivants :

  • un élément id égal à la chaîne String {66f5a359-4659-4830-9070-00047ec6ac6e} Name Color (le codage URL est ici supprimé pour une meilleure lisibilité) ;

  • un élément value contenant la chaîne green.

GET https://graph.microsoft.com/v1.0/Me/messages?$filter=singleValueExtendedProperties/any(ep:ep/Id eq 'String {66f5a359-4659-4830-9070-00047ec6ac6e} Name Color' and contains(ep/Value, 'green'))

Réponse 3

En cas de réussite, la réponse renvoie un code HTTP 200 OK et le corps de la réponse comprend toutes les propriétés des messages dont la propriété étendue correspond au filtre. Par exemple, un message qui a une propriété étendue à valeur unique avec l’ID égal à la chaîne String {66f5a359-4659-4830-9070-00047ec6ac6e} Name Coloret la valeurLight green correspond au filtre et est inclus dans la réponse.

Le corps de la réponse est semblable à celui de la réponse reçue lors de l’obtention d’une collection d’objets « message ». La réponse n’inclut pas la propriété étendue correspondante.

Demande 4

Les deux exemples suivants montrent comment obtenir des messages qui présentent des propriétés étendues à valeur unique de type autre qu’une chaîne. Pour faciliter la lecture, ils ne comportent pas le codage URL requis.

L’exemple suivant montre un filtre qui recherche la propriété étendue possédant les éléments suivants :

  • un élément id correspondant à la chaîne CLSID {00062008-0000-0000-C000-000000000046} Name ConnectorSenderGuid ;

  • un élément value qui est le GUID b9cf8971-7d55-4b73-9ffa-a584611b600b. Pour comparer la valeur de la propriété avec un GUID, convertissez ep/value en Edm.Guid.

GET https://graph.microsoft.com/v1.0/me/messages?$filter=singleValueExtendedProperties/any(ep:ep/id eq 'CLSID {00062008-0000-0000-C000-000000000046} Name ConnectorSenderGuid' and cast(ep/value, Edm.Guid) eq (b9cf8971-7d55-4b73-9ffa-a584611b600b))

L’exemple suivant montre un filtre qui recherche la propriété étendue possédant les éléments suivants :

  • un élément id correspondant à la chaîne Integer {66f5a359-4659-4830-9070-00047ec6ac6e} Name Pallete ;

  • un élément value égal au nombre entier 12. Pour comparer la valeur de propriété avec un nombre entier, convertissez ep/value en Edm.Int32.

GET https://graph.microsoft.com/v1.0/me/messages?$filter=singleValueExtendedProperties/any(ep:ep/id eq 'Integer {66f5a359-4659-4830-9070-00047ec6ac6e} Name Pallete' and cast(ep/value, Edm.Int32) eq 12)

Réponse 4

Pour chacun des deux exemples précédents, en cas de réussite, la réponse renvoie un code HTTP 200 OK et le corps de la réponse comprend toutes les propriétés des messages dont la propriété étendue correspond au filtre. Le corps de la réponse est semblable à celui de la réponse reçue lors de l’obtention d’une collection d’objets « message ». La réponse n’inclut pas la propriété étendue correspondante.