Hente metadata efter navn eller MetadataId
Udgivet: januar 2017
Gælder for: Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2016, Dynamics CRM Online
Dine programmer kan tilpasse sig ændringer i konfigurationen ved at forespørge om metadataene. Når du kender en af de vigtige egenskaber for et metadataelement, kan du hente metadatadefinitioner ved hjælp af Web API'en.
Dette emne indeholder
Hente metadataelementer efter navn
Hente metadataelementer efter MetadataId
Hente metadataelementer efter navn
Bemærk
Denne funktion blev tilføjet med December 2016 – opdatering til Dynamics 365 (online og det lokale miljø).
Alle metadataelementer, der kan hentes, har en primær MetadataId-nøgle, der kan bruges til at hente individuelle elementer. For de typer metadata, der har en defineret alternativ nøgle, kan du hente dem efter navn.
Hentning af elementer efter navn er som regel lettere, da du sikkert allerede har nogle referencer til navnet på metadataelementet i din kode. Følgende tabel viser en liste over alternative nøgleegenskaberne med henblik på hentning af metadataelementer efter navn
Metadataelement |
Alternativ nøgle |
Eksempel |
---|---|---|
Objekt |
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') |
Global grupperet indstilling |
Navn |
GET /api/data/v8.2/GlobalOptionSetDefinitions(Name='metric_goaltype') |
Eksempel: Hente metadataelementer efter navn
Et fælles element i metadata, som brugere vil hente, er de indstillinger, der er konfigureret for en bestemt attribut. Følgende eksempel viser, hvordan du kan hente OptionSet- og GlobalOptionSet-egenskaber for en PicklistAttributeMetadata EntityType.
Bemærk
Med udvidelse af både OptionSet- og GlobalOptionSet-navigationsegenskaber med enkelt værdi for PicklistAttributeMetadata EntityType kan du hente den definerede indstilling for, hvorvidt attributten er konfigureret til at bruge globale optionsets eller den 'lokale' optionset i objektet. Hvis det er en 'lokal' optionset, er GlobalOptionSet-egenskaben null, som vist nedenfor.
Hvis attributten brugte en global optionset, ville GlobalOptionSet-egenskab indeholde de definerede indstillinger, og OptionSet-egenskaben er null.
Anmodning
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
Svar
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 }
Hente metadataelementer efter MetadataId
Eftersom MetadataId er den primære nøgle for metadataelementer, følger hentning af enkelte elementer det samme mønster, som blev brugt til at hente forretningsdataobjekter.
Metadataelement |
Eksempel |
---|---|
Objekt |
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>) |
Global grupperet indstilling |
GET /api/data/v8.2/GlobalOptionSetDefinitions(<OptionSet MetadataId>) |
Eksempel: Hente metadataelementer efter MetadataId
Hvis du vil opnå det samme resultat som vist i Eksempel: Hente metadataelementer efter navn, skal du udføre en række forespørgselshandlinger for at få MetadataId ved at filtrere efter objektet LogicalName og derefter efter attributten LogicalName.
Anmodning
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
Svar
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" } ] }
Anmodning
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
Svar
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" } ] }
Anmodning
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
Svar
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 }
Se også
Bruge Web API med Dynamics 365-metadata
Forespørg på metadata ved hjælp af Web-API'en
Oprette og opdatere objektdefinitioner med Web API
Oprette og opdatere objektrelationer med Web API
Microsoft Dynamics 365
© 2017 Microsoft. Alle rettigheder forbeholdes. Ophavsret