Del via


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