Récupérer des métadonnées par nom ou MetadataId
Date de publication : janvier 2017
S’applique à : Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2016, Dynamics CRM Online
Vos applications peuvent s'adapter aux modifications de configuration en interrogeant les métadonnées. Lorsque vous connaissez une des propriétés clés d'un élément de métadonnées, vous pouvez récupérer les définitions de métadonnées à l'aide de l'API Web.
Contenu de la rubrique
Récupérer des éléments de métadonnées par nom
Récupérer des éléments de métadonnées par MetadataId
Récupérer des éléments de métadonnées par nom
Notes
Cette fonctionnalité a été ajoutée avec la Mise à jour de décembre 2016 pour Dynamics 365 (en ligne et local).
Tous les éléments de métadonnées récupérables ont une clé primaire MetadataId qui permet de récupérer des éléments individuels. Pour les types de métadonnées qui ont une clé secondaire définie, vous pouvez les récupérer par nom.
La récupération des éléments par nom est généralement plus facile, car votre code contient probablement déjà une référence au nom de l'élément de métadonnées. Le tableau suivant répertorie les propriétés de clé secondaire permettant de récupérer des éléments de métadonnées par nom
Élément de métadonnées |
Clé secondaire |
Exemple |
---|---|---|
Entité |
LogicalName |
GET /api/data/v8.2/EntityDefinitions(LogicalName='account') |
Attribut |
LogicalName |
GET /api/data/v8.2/EntityDefinitions(LogicalName='account')/Attributes(LogicalName='emailaddress1') |
Relation |
SchemaName |
GET /api/data/v8.2/RelationshipDefinitions(SchemaName='Account_Tasks') |
Groupe d'options global |
Nom |
GET /api/data/v8.2/GlobalOptionSetDefinitions(Name='metric_goaltype') |
Exemple : récupérer des éléments de métadonnées par nom
Un élément courant de métadonnées que les utilisateurs souhaitent récupérer sont les options configurées pour un attribut particulier. L'exemple suivant montre comment récupérer les propriétés OptionSet et GlobalOptionSet de PicklistAttributeMetadata EntityType.
Notes
Le développement des propriétés de navigation à valeur unique OptionSet et GlobalOptionSet de PicklistAttributeMetadata EntityType vous permet d'obtenir la définition de l'option indiquant si l'attribut est configuré pour utiliser les groupes d'options globaux ou le groupe d'option« local » de l'entité. S'il s'agit d'un groupe d'options « local », la propriété GlobalOptionSet a la valeur null, comme indiqué ci-dessous.
Si l'attribut utilise un groupe d'options global, la propriété GlobalOptionSet contient les options définies et la propriété OptionSet a la valeur null.
Requête
GET cc_WebAPI_ServiceURI/EntityDefinitions(LogicalName='account')/Attributes(LogicalName='accountcategorycode')/Microsoft.Dynamics.CRM.PicklistAttributeMetadata?$select=LogicalName&$expand=OptionSet($select=Options),GlobalOptionSet($select=Options) HTTP/1.1 OData-MaxVersion: 4.0 OData-Version: 4.0 Accept: application/json Content-Type: application/json; charset=utf-8
Réponse
HTTP/1.1 200 OK Content-Type: application/json; odata.metadata=minimal OData-Version: 4.0 { "@odata.context": "cc_WebAPI_ServiceURI/$metadata#EntityDefinitions('account')/Attributes/Microsoft.Dynamics.CRM.PicklistAttributeMetadata(LogicalName,OptionSet,GlobalOptionSet,OptionSet(Options),GlobalOptionSet(Options))/$entity", "LogicalName": "accountcategorycode", "MetadataId": "118771ca-6fb9-4f60-8fd4-99b6124b63ad", "OptionSet@odata.context": "cc_WebAPI_ServiceURI/$metadata#EntityDefinitions('account')/Attributes(118771ca-6fb9-4f60-8fd4-99b6124b63ad)/Microsoft.Dynamics.CRM.PicklistAttributeMetadata/OptionSet(Options)/$entity", "OptionSet": { "Options": [{ "Value": 1, "Label": { "LocalizedLabels": [{ "Label": "Preferred Customer", "LanguageCode": 1033, "IsManaged": true, "MetadataId": "0bd8a218-2341-db11-898a-0007e9e17ebd", "HasChanged": null }], "UserLocalizedLabel": { "Label": "Preferred Customer", "LanguageCode": 1033, "IsManaged": true, "MetadataId": "0bd8a218-2341-db11-898a-0007e9e17ebd", "HasChanged": null } }, "Description": { "LocalizedLabels": [ ], "UserLocalizedLabel": null }, "Color": null, "IsManaged": true, "MetadataId": null, "HasChanged": null }, { "Value": 2, "Label": { "LocalizedLabels": [{ "Label": "Standard", "LanguageCode": 1033, "IsManaged": true, "MetadataId": "0dd8a218-2341-db11-898a-0007e9e17ebd", "HasChanged": null }], "UserLocalizedLabel": { "Label": "Standard", "LanguageCode": 1033, "IsManaged": true, "MetadataId": "0dd8a218-2341-db11-898a-0007e9e17ebd", "HasChanged": null } }, "Description": { "LocalizedLabels": [ ], "UserLocalizedLabel": null }, "Color": null, "IsManaged": true, "MetadataId": null, "HasChanged": null }], "MetadataId": "b994cdd8-5ce9-4ab9-bdd3-8888ebdb0407" }, "GlobalOptionSet": null }
Récupérer des éléments de métadonnées par MetadataId
Étant donné que MetadataId est la clé primaire des éléments de métadonnées, la récupération des éléments individuels suit le modèle utilisé pour récupérer les entités de données d'entreprise.
Élément de métadonnées |
Exemple |
---|---|
Entité |
GET /api/data/v8.2/EntityDefinitions(<Entity MetadataId>) |
Attribut |
GET /api/data/v8.2/EntityDefinitions(<Entity MetadataId>)/Attributes(<Attribute MetadataId>) |
Relation |
GET /api/data/v8.2/RelationshipDefinitions(<Relationship MetadataId>) |
Groupe d'options global |
GET /api/data/v8.2/GlobalOptionSetDefinitions(<OptionSet MetadataId>) |
Exemple : récupérer des éléments de métadonnées par MetadataId
Pour obtenir le même résultat comme indiqué dans Exemple : récupérer des éléments de métadonnées par nom, vous devez exécuter une série d'opérations de requête pour obtenir le MetadataId en filtrant en fonction de l'entité LogicalName et en fonction de l'attribut LogicalName.
Requête
GET cc_WebAPI_ServiceURI/EntityDefinitions?$filter=LogicalName%20eq%20'account'&$select=MetadataId HTTP/1.1 OData-MaxVersion: 4.0 OData-Version: 4.0 Accept: application/json Content-Type: application/json; charset=utf-8
Réponse
HTTP/1.1 200 OK Content-Type: application/json; odata.metadata=minimal OData-Version: 4.0 { "@odata.context":"cc_WebAPI_ServiceURI/$metadata#EntityDefinitions(MetadataId)","value":[ { "MetadataId":"70816501-edb9-4740-a16c-6a5efbc05d84" } ] }
Requête
GET cc_WebAPI_ServiceURI/EntityDefinitions(70816501-edb9-4740-a16c-6a5efbc05d84)/Attributes?$filter=LogicalName%20eq%20'accountcategorycode'&$select=MetadataId HTTP/1.1 OData-MaxVersion: 4.0 OData-Version: 4.0 Accept: application/json Content-Type: application/json; charset=utf-8
Réponse
HTTP/1.1 200 OK Content-Type: application/json; odata.metadata=minimal OData-Version: 4.0 { "@odata.context": "cc_WebAPI_ServiceURI/$metadata#EntityDefinitions(70816501-edb9-4740-a16c-6a5efbc05d84)/Attributes(MetadataId)","value":[ { "@odata.type": "#Microsoft.Dynamics.CRM.PicklistAttributeMetadata", "MetadataId": "118771ca-6fb9-4f60-8fd4-99b6124b63ad" } ] }
Requête
GET cc_WebAPI_ServiceURI/EntityDefinitions(70816501-edb9-4740-a16c-6a5efbc05d84)/Attributes(118771ca-6fb9-4f60-8fd4-99b6124b63ad)/Microsoft.Dynamics.CRM.PicklistAttributeMetadata?$select=LogicalName&$expand=OptionSet($select=Options),GlobalOptionSet($select=Options) HTTP/1.1 OData-MaxVersion: 4.0 OData-Version: 4.0 Accept: application/json Content-Type: application/json; charset=utf-8
Réponse
HTTP/1.1 200 OK Content-Type: application/json; odata.metadata=minimal OData-Version: 4.0 { "@odata.context": "cc_WebAPI_ServiceURI/$metadata#EntityDefinitions(70816501-edb9-4740-a16c-6a5efbc05d84)/Attributes/Microsoft.Dynamics.CRM.PicklistAttributeMetadata(LogicalName,OptionSet,GlobalOptionSet,OptionSet(Options),GlobalOptionSet(Options))/$entity", "LogicalName": "accountcategorycode", "MetadataId": "118771ca-6fb9-4f60-8fd4-99b6124b63ad", "OptionSet@odata.context": "cc_WebAPI_ServiceURI/$metadata#EntityDefinitions(70816501-edb9-4740-a16c-6a5efbc05d84)/Attributes(118771ca-6fb9-4f60-8fd4-99b6124b63ad)/Microsoft.Dynamics.CRM.PicklistAttributeMetadata/OptionSet(Options)/$entity", "OptionSet": { "Options": [{ "Value": 1, "Label": { "LocalizedLabels": [{ "Label": "Preferred Customer", "LanguageCode": 1033, "IsManaged": true, "MetadataId": "0bd8a218-2341-db11-898a-0007e9e17ebd", "HasChanged": null }], "UserLocalizedLabel": { "Label": "Preferred Customer", "LanguageCode": 1033, "IsManaged": true, "MetadataId": "0bd8a218-2341-db11-898a-0007e9e17ebd", "HasChanged": null } }, "Description": { "LocalizedLabels": [ ], "UserLocalizedLabel": null }, "Color": null, "IsManaged": true, "MetadataId": null, "HasChanged": null }, { "Value": 2, "Label": { "LocalizedLabels": [{ "Label": "Standard", "LanguageCode": 1033, "IsManaged": true, "MetadataId": "0dd8a218-2341-db11-898a-0007e9e17ebd", "HasChanged": null }], "UserLocalizedLabel": { "Label": "Standard", "LanguageCode": 1033, "IsManaged": true, "MetadataId": "0dd8a218-2341-db11-898a-0007e9e17ebd", "HasChanged": null } }, "Description": { "LocalizedLabels": [ ], "UserLocalizedLabel": null }, "Color": null, "IsManaged": true, "MetadataId": null, "HasChanged": null }], "MetadataId": "b994cdd8-5ce9-4ab9-bdd3-8888ebdb0407" }, "GlobalOptionSet": null }
Voir aussi
Utiliser l'API Web avec les métadonnées Dynamics 365
Interroger les métadonnées à l'aide de l'API Web
Créer et mettre à jour les définitions d'entité à l’aide de l'API Web
Créer et mettre à jour les relations d'entité à l’aide de l'API Web
Microsoft Dynamics 365
© 2017 Microsoft. Tous droits réservés. Copyright