名前または MetadataId でのメタデータの取得

 

公開日: 2017年1月

対象: Dynamics 365 (online)、Dynamics 365 (on-premises)、Dynamics CRM 2016、Dynamics CRM Online

メタデータのクエリを実行して構成の変更をお使いのアプリケーションに適用することができます。 メタデータ アイテムの主要プロパティの 1 つが判明している場合は、Web API を使用してメタデータの定義を取得できます。

このトピックの内容

名前でのメタデータ項目の取得

MetadataId でのメタデータ項目の取得

名前でのメタデータ項目の取得

注意

この機能は Dynamics 365 用 2016 年 12 月の更新プログラム (オンラインおよび設置型) を使用して追加されました。

取得可能なすべてのメタデータ項目には、個別の項目を取得するために使用できる MetadataId 主キーがあります。 定義された代替キーがあるその種類のメタデータは、名前で取得できます。

名前で項目を取得することは、おそらく既にコードのメタデータ項目の名前に対する参照があるので容易です。 次の表に、名前でメタデータ項目を取得するための代替キーのプロパティを示します。

メタデータ項目

代替キー

エンティティ

LogicalName

GET /api/data/v8.2/EntityDefinitions(LogicalName='account')

属性

LogicalName

GET /api/data/v8.2/EntityDefinitions(LogicalName='account')/Attributes(LogicalName='emailaddress1')

[関連付け]

SchemaName

GET /api/data/v8.2/RelationshipDefinitions(SchemaName='Account_Tasks')

グローバル オプション セット

名前

GET /api/data/v8.2/GlobalOptionSetDefinitions(Name='metric_goaltype')

例: 名前でのメタデータ項目の取得

ユーザーが取得するメタデータの共通項目は、特定の属性で構成されるオプションです。 次の例では、PicklistAttributeMetadata EntityTypeOptionSet および GlobalOptionSet プロパティを取得する方法を示しています。

注意

PicklistAttributeMetadata EntityTypeOptionSet および GlobalOptionSet 単一値ナビゲーション プロパティの両方を展開すると、グローバル optionset またはエンティティ内の 'ローカル' optionset を使用するように属性が構成されているかどうかのオプション定義を取得できます。 'ローカル' optionset の場合、GlobalOptionSet プロパティは、次に示すように null です。

属性がグローバル optionset を使用している場合、GlobalOptionSet プロパティが定義されたオプションを含んでいることがあり、OptionSet プロパティは null になります。

  • 要求

    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
    
  • 応答

    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
    }
    

MetadataId でのメタデータ項目の取得

MetadataId はメタデータ項目の主キーであるため、個別の項目の取得は、ビジネス データ エンティティの取得に使用される同じパターンに従います。

メタデータ項目

エンティティ

GET /api/data/v8.2/EntityDefinitions(<Entity MetadataId>)

属性

GET /api/data/v8.2/EntityDefinitions(<Entity MetadataId>)/Attributes(<Attribute MetadataId>)

[関連付け]

GET /api/data/v8.2/RelationshipDefinitions(<Relationship MetadataId>)

グローバル オプション セット

GET /api/data/v8.2/GlobalOptionSetDefinitions(<OptionSet MetadataId>)

例: MetadataId でのメタデータ項目の取得

例: 名前でのメタデータ項目の取得 に示される同じ結果を得るには、エンティティ LogicalName、および属性 LogicalName でフィルター処理して MetadataId を取得するために一連のクエリ操作を実行する必要があります。

  • 要求

    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
    
  • 応答

    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"
        }
      ]
    }
    
  • 要求

    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
    
  • 応答

    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"
        }
        ]
    }
    
  • 要求

    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
    
  • 応答

    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
    }
    

関連項目

Web API を Dynamics 365 メタデータで使用する
Web API を使用したクエリ メタデータ
Web API を使用してエンティティ定義を作成および更新
Web API を使用してエンティティ関係を作成および更新する

Microsoft Dynamics 365

© 2017 Microsoft. All rights reserved. 著作権