Delen via


Querygegevens met behulp van de web-API

 

Gepubliceerd: januari 2017

Is van toepassing op: Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2016, Dynamics CRM Online

Als u gegevens voor een entiteitset wilt ophalen, gebruikt u een GET-aanvraag. Bij het ophalen van gegevens kunt u queryopties toepassen om criteria voor de gegevens in te stellen en de entiteitseigenschappen die moeten worden geretourneerd.

In dit onderwerp

Eenvoudig queryvoorbeeld

Limieten voor aantal te retourneren entiteiten

Geef het aantal entiteiten op dat op een pagina moet worden weergegeven

Systeemqueryopties toepassen

Specifieke eigenschappen aanvragen

Resultaten filteren

Resultaten ordenen

Parameteraliassen gebruiken met systeemqueryopties

Resultaten beperken

Het aantal entiteiten ophalen

Opgemaakte waarden ophalen

Gegevens over opzoekeigenschappen ophalen

Records filteren op basis van navigatie-eigenschappen met één waarde

Gerelateerde entiteiten ophalen door navigatie-eigenschappen uit te breiden

Eenvoudig queryvoorbeeld

In dit voorbeeld wordt een query uitgevoerd voor de accounts-entiteitset en worden de $select- en $top-systeemqueryopties gebruikt om de name-eigenschap te retourneren voor de eerste drie accounts:

  • Aanvraag

    GET cc_WebAPI_ServiceURI/accounts?$select=name&$top=3 HTTP/1.1
    Accept: application/json
    OData-MaxVersion: 4.0
    OData-Version: 4.0
    
  • Response

    HTTP/1.1 200 OK
    Content-Type: application/json; odata.metadata=minimal
    OData-Version: 4.0
    
    {
     "@odata.context": "cc_WebAPI_ServiceURI/$metadata#accounts(name)",
     "value": [
      {
       "@odata.etag": "W/\"501097\"",
       "name": "Fourth Coffee (sample)",
       "accountid": "89390c24-9c72-e511-80d4-00155d2a68d1"
      },
      {
       "@odata.etag": "W/\"501098\"",
       "name": "Litware, Inc. (sample)",
       "accountid": "8b390c24-9c72-e511-80d4-00155d2a68d1"
      },
      {
       "@odata.etag": "W/\"501099\"",
       "name": "Adventure Works (sample)",
       "accountid": "8d390c24-9c72-e511-80d4-00155d2a68d1"
      }
     ]
    }
    

Limieten voor aantal te retourneren entiteiten

Tenzij u een kleiner paginaformaat opgeeft, worden maximaal 5000 entiteiten voor elke aanvraag geretourneerd. Als er meerdere entiteiten zijn die aan de queryfiltercriteria voldoen, zal een @odata.nextLink-eigenschap met de resultaten worden geretourneerd. Gebruik de waarde van de @odata.nextLink-eigenschap met een nieuwe GET-aanvraag om de volgende pagina met gegevens te retourneren.

Notitie

Query's voor modelentiteiten worden niet beperkt of gepagineerd.Meer informatie:Query's uitvoeren op metagegevens via de web-API

Geef het aantal entiteiten op dat op een pagina moet worden weergegeven

Gebruik de odata.maxpagesize-voorkeurswaarde om het aantal entiteiten aan te vragen dat wordt geretourneerd in de respons.

Notitie

U kunt geen odata.maxpagesize-voorkeurswaarde gebruiken die groter is dan 5000.

In het volgende voorbeeld wordt een query uitgevoerd voor de accounts -entiteitset en wordt de name-eigenschap geretourneerd voor de eerste drie accounts.

  • Aanvraag

    GET cc_WebAPI_ServiceURI/accounts?$select=name HTTP/1.1
    Accept: application/json
    OData-MaxVersion: 4.0
    OData-Version: 4.0
    Prefer: odata.maxpagesize=3
    
  • Respons

    HTTP/1.1 200 OK
    Content-Type: application/json; odata.metadata=minimal
    OData-Version: 4.0
    Content-Length: 402
    Preference-Applied: odata.maxpagesize=3
    
    {
      "@odata.context": "cc_WebAPI_ServiceURI/$metadata#accounts(name)",
      "value": [
        {
          "@odata.etag": "W/\"437194\"",
          "name": "Fourth Coffee (sample)",
          "accountid": "7d51925c-cde2-e411-80db-00155d2a68cb"
        },
        {
          "@odata.etag": "W/\"437195\"",
          "name": "Litware, Inc. (sample)",
          "accountid": "7f51925c-cde2-e411-80db-00155d2a68cb"
        },
        {
          "@odata.etag": "W/\"468026\"",
          "name": "Adventure Works (sample)",
          "accountid": "8151925c-cde2-e411-80db-00155d2a68cb"
        }
      ],
      "@odata.nextLink": "cc_WebAPI_ServiceURI/accounts?$select=name&$skiptoken=%3Ccookie%20pagenumber=%222%22%20pagingcookie=%22%253ccookie%2520page%253d%25221%2522%253e%253caccountid%2520last%253d%2522%257b8151925C-CDE2-E411-80DB-00155D2A68CB%257d%2522%2520first%253d%2522%257b7D51925C-CDE2-E411-80DB-00155D2A68CB%257d%2522%2520%252f%253e%253c%252fcookie%253e%22%20/%3E"
    }
    

Gebruik de waarde van de @odata.nextLink-eigenschap om de volgende set records aan te vragen. Wijzig de waarde niet en voeg hier ook geen extra systeemqueryopties aan toe. Voor elke volgende aanvraag voor extra pagina's moet u dezelfde odata.maxpagesize-voorkeurswaarde gebruiken als in de oorspronkelijke aanvraag. Sla de geretourneerde resultaten of de waarde van de @odata.nextLink-eigenschap op in de cache zodat u kunt terugkeren naar eerder opgehaalde pagina's.

Notitie

De waarde van de @odata.nextLink-eigenschap is URI-gecodeerd. Als u URI de waarde codeert voordat u deze verzendt, veroorzaakt de XML-cookieinformatie in URL een fout.

Systeemqueryopties toepassen

Elk van de systeemqueryopties die u toevoegt aan de URL voor de entiteitset, wordt toegevoegd met de syntaxis voor querytekenreeksen. De eerste wordt toegevoegd nadat [?] en volgende queryopties van elkaar zijn gescheiden met [&]. Alle queryopties zijn hoofdlettergevoelig zoals te zien is in het volgende voorbeeld.

GET cc_WebAPI_ServiceURI/accounts?$select=name,revenue&$top=3&$filter=revenue gt 100000

Specifieke eigenschappen aanvragen

Gebruik de $select-systeemqueryoptie om de te retourneren eigenschappen te beperken, zoals te zien is in het volgende voorbeeld.

GET cc_WebAPI_ServiceURI/accounts?$select=name,revenue

Belangrijk

Dit is een aanbevolen prestatieprocedure. Als eigenschappen niet met $select zijn opgegeven, worden alle eigenschappen geretourneerd.

Als u bepaalde typen eigenschappen aanvraagt, kunt u verwachten dat er automatisch extra alleen-lezeneigenschappen worden geretourneerd.

Als u een geldwaarde aanvraagt, wordt de _transactioncurrencyid_value-opzoekeigenschap geretourneerd. Deze eigenschap bevat alleen de GUID-waarde van de transactievaluta zodat u deze waarde kunt gebruiken om informatie over de valuta op te halen via transactioncurrency EntityType Door aantekeningen aan te vragen, kunt u ook aanvullende gegevens ontvangen via dezelfde aanvraag.Meer informatie:Gegevens over opzoekeigenschappen ophalen

Als u een eigenschap aanvraagt die deel uitmaakt van een samengesteld kenmerk voor een adres, ontvangt u ook de samengestelde eigenschap. Wanneer u met uw query de eigenschap address1_line1 voor een contactpersoon aanvraagt, wordt bijvoorbeeld ook de eigenschap address1_composite geretourneerd.Meer informatie:5bc03503-649d-42b5-a21f-e642c9923453#BKMK_CompositeAttributes.

Resultaten filteren

Gebruik de $filter-systeemqueryoptie als u criteria wilt instellen voor te retourneren entiteiten.

Standaardfilteroperatoren

Web-API ondersteunt de standaard OData-filteroperatoren die in de volgende tabel worden vermeld.

Operator

Beschrijving

Voorbeeld

Vergelijkingsoperatoren

eq

Gelijk

$filter=revenue eq 100000

ne

Niet gelijk aan

$filter=revenue ne 100000

gt

Groter dan

$filter=revenue gt 100000

ge

Groter dan of gelijk

$filter=revenue ge 100000

lt

Kleiner dan

$filter=revenue lt 100000

le

Is kleiner dan of gelijk aan

$filter=revenue le 100000

Logische operatoren

and

Logisch en

$filter=revenue lt 100000 and revenue gt 2000

or

Logisch of

$filter=contains(name,'(sample)') or contains(name,'test')

not

Logische negatie

$filter=not contains(name,'sample')

Groeperingsoperatoren

( )

Voorkeursgroepering

(contains(name,'sample') or contains(name,'test')) and revenue gt 5000

Notitie

Dit is een subset van de 11.2.5.1.1 Ingebouwde filterbewerkingen. Rekenkundige operatoren en de vergelijkingsoperator worden niet ondersteund in de web-API.

Standaardqueryfuncties

De web-API ondersteunt deze standaard OData-tekenreeksqueryfuncties.

Functie

Voorbeeld

contains

$filter=contains(name,'(sample)')

endswith

$filter=endswith(name,'Inc.')

startswith

$filter=startswith(name,'a')

Notitie

Dit is een subset van de 11.2.5.1.2 Ingebouwde queryfuncties.Date, Math, Type, Geo en andere tekenreeksfuncties worden niet ondersteund in de web-API.

Queryfuncties van de web-API in Microsoft Dynamics 365

Microsoft Dynamics 365 biedt een aantal speciale functies die parameters accepteren, Booleaanse waarden retourneren en als filtercriteria in een query kunnen worden gebruikt. Zie Web API Query Function Reference voor een lijst van deze functies. Hier volgt een voorbeeld van de Between Function die naar accounts zoekt met een aantal werknemers tussen 5 en 2000.

GET cc_WebAPI_ServiceURI/accounts?$select=name,numberofemployees&$filter=Microsoft.Dynamics.CRM.Between(PropertyName='numberofemployees',PropertyValues=["5","2000"])

Meer informatie:Een query met functies samenstellen.

Resultaten ordenen

Geef op in welke volgorde items moeten worden geretourneerd met de $orderby-systeemqueryoptie. Gebruik het achtervoegsel asc of desc om respectievelijk een oplopende of aflopende volgorde op te geven. De standaardoptie is oplopend, als het achtervoegsel niet wordt toegepast. Het volgende voorbeeld toont het ophalen van de naam en omzeteigenschappen van accounts met een oplopende volgorde voor de omzet en een aflopende voor de naam.

GET cc_WebAPI_ServiceURI/accounts?$select=name,revenue,&$orderby=revenue asc,name desc&$filter=revenue ne null

Parameteraliassen gebruiken met systeemqueryopties

U kunt parameteraliassen gebruiken voor $filter- en $orderby-systeemqueryopties. Met parameteraliassen kunt u dezelfde waarde meerdere malen gebruiken in een aanvraag. Als er geen waarde wordt toegewezen aan de alias, wordt verondersteld dat deze null is.

Zonder parameteraliassen

GET cc_WebAPI_ServiceURI/accounts?$select=name,revenue,&$orderby=revenue asc,name desc&$filter=revenue ne null

Met parameteraliassen

GET cc_WebAPI_ServiceURI/accounts?$select=name,revenue,&$orderby=@p1 asc,@p2 desc&$filter=@p1 ne @p3&@p1=revenue&@p2=name

U kunt ook parameteraliassen gebruiken wanneer u functies gebruikt.Meer informatie:Web-API-functies gebruiken

Resultaten beperken

U kunt het aantal te retourneren resultaten beperken met de $topsysteemqueryoptie. In het volgende voorbeeld worden alleen de eerste accountentiteiten geretourneerd.

GET cc_WebAPI_ServiceURI/accounts?$select=name,revenue&$top=3

Notitie

Als u het aantal resultaten beperkt met $top, voorkomt u dat de odata.maxpagesize-voorkeur wordt toegepast. U kunt de odata.maxpagesize-voorkeur of $top gebruiken, maar niet beide tegelijk. Voor meer informatie over odata.maxpagesize raadpleegt u Geef het aantal entiteiten op dat op een pagina moet worden weergegeven.

U moet $top ook niet gebruiken in combinatie met $count.

Het aantal entiteiten ophalen

Gebruik de $count-systeemqueryoptie met een waarde van true om maximaal 5000 entiteiten te retourneren die met de filtercriteria overeenkomen.

Notitie

Het aantal staat niet voor het totale aantal entiteiten in het systeem. Het wordt bepaald door het maximale aantal entiteiten dat mag worden geretourneerd.Meer informatie:Limieten voor aantal te retourneren entiteiten

De respons @odata.count-eigenschap bevat het aantal entiteiten dat aan de filtercriteria voldoet, ongeacht een eventuele odata.maxpagesize-voorkeursbeperking.

Notitie

U moet $top niet gebruiken in combinatie met $count.

Het volgende voorbeeld laat zien dat er tien accounts zijn die voldoen aan de criteria (de naam bevat "voorbeeld"), maar alleen de eerste drie accounts worden geretourneerd.

  • Aanvraag

    GET cc_WebAPI_ServiceURI/accounts?$select=name&$filter=contains(name,'sample')&$count=true HTTP/1.1
    Accept: application/json
    OData-MaxVersion: 4.0
    OData-Version: 4.0
    Prefer: odata.maxpagesize=3
    
  • Respons

    HTTP/1.1 200 OK
    Content-Type: application/json; odata.metadata=minimal
    OData-Version: 4.0
    Preference-Applied: odata.maxpagesize=3
    
    {
      "@odata.context":"cc_WebAPI_ServiceURI/$metadata#accounts(name)",
    "@odata.count":10,
    "value":[
        {
          "@odata.etag":"W/\"502482\"","name":"Fourth Coffee (sample)","accountid":"655eaf89-f083-e511-80d3-00155d2a68d3"
        },{
          "@odata.etag":"W/\"502483\"","name":"Litware, Inc. (sample)","accountid":"675eaf89-f083-e511-80d3-00155d2a68d3"
        },{
          "@odata.etag":"W/\"502484\"","name":"Adventure Works (sample)","accountid":"695eaf89-f083-e511-80d3-00155d2a68d3"
        }
      ],"@odata.nextLink":"cc_WebAPI_ServiceURI/accounts?$select=name&$filter=contains(name,'sample')&$skiptoken=%3Ccookie%20pagenumber=%222%22%20pagingcookie=%22%253ccookie%2520page%253d%25221%2522%253e%253caccountid%2520last%253d%2522%257b695EAF89-F083-E511-80D3-00155D2A68D3%257d%2522%2520first%253d%2522%257b655EAF89-F083-E511-80D3-00155D2A68D3%257d%2522%2520%252f%253e%253c%252fcookie%253e%22%20istracking=%22False%22%20/%3E"
    }
    

Als u behalve het aantal geen andere gegevens wilt retourneren, kunt u $count toepassen op elke verzameling om alleen die waarde op te halen.

  • Aanvraag

    GET cc_WebAPI_ServiceURI/accounts/$count HTTP/1.1
    Accept: application/json
    OData-MaxVersion: 4.0
    OData-Version: 4.0
    
  • Respons

    HTTP/1.1 200 OK
    Content-Type: text/plain
    OData-Version: 4.0
    
    10
    

Opgemaakte waarden ophalen

Als u opgemaakte waarden wilt retourneren voor eigenschappen, gebruikt u de odata.include-annotations-voorkeur met de waarde van OData.Community.Display.V1.FormattedValue. De respons bevat dan deze waarden met eigenschappen die aan de volgende naamgevingsconventie voldoen:

<propertyname>@OData.Community.Display.V1.FormattedValue

In het volgende voorbeeld wordt een query uitgevoerd voor de accountentiteitset en wordt de eerste record geretourneerd, inclusief eigenschappen die opgemaakte waarden ondersteunen.

  • Aanvraag

    GET cc_WebAPI_ServiceURI/accounts?$select=name,donotpostalmail,accountratingcode,numberofemployees,revenue&$top=1 HTTP/1.1
    Accept: application/json
    OData-MaxVersion: 4.0
    OData-Version: 4.0
    Prefer: odata.include-annotations="OData.Community.Display.V1.FormattedValue"
    
  • Respons

    HTTP/1.1 200 OK
    Content-Type: application/json; odata.metadata=minimal
    OData-Version: 4.0
    Preference-Applied: odata.include-annotations="OData.Community.Display.V1.FormattedValue"
    
    {
     "@odata.context": "cc_WebAPI_ServiceURI/$metadata#accounts(name,donotpostalmail,accountratingcode,numberofemployees,revenue)",
     "value": [
     {
      "@odata.etag": "W/"502170"",
      "name": "Fourth Coffee (sample)",
      "donotpostalmail@OData.Community.Display.V1.FormattedValue": "Allow",
      "donotpostalmail": false,
      "accountratingcode@OData.Community.Display.V1.FormattedValue": "Default Value",
      "accountratingcode": 1,
      "numberofemployees@OData.Community.Display.V1.FormattedValue": "9,500",
      "numberofemployees": 9500,
      "revenue@OData.Community.Display.V1.FormattedValue": "$100,000.00",
      "revenue": 100000,
      "accountid": "89390c24-9c72-e511-80d4-00155d2a68d1",
      "transactioncurrencyid_value": "50b6dd7b-f16d-e511-80d0-00155db07cb1" } ]
    }
    

Gegevens over opzoekeigenschappen ophalen

Als uw query opzoekeigenschappen bevat, kunt u aantekeningen aanvragen die extra informatie over de gegevens in deze eigenschappen kunnen bieden. Meestal kunnen deze gegevens ook worden afgeleid met kennis van de single-valued navigatie-eigenschappen en de gegevens in de gerelateerde entiteiten. Echter, in gevallen waarin de eigenschap een opzoekkenmerk is dat naar meer dan één entiteitstype kan verwijzen, kan deze informatie u vertellen naar welk type entiteit door de opzoekeigenschap wordt verwezen.Meer informatie:d80cfb87-d4f1-4c75-bcc8-4f54d1351e26#bkmk_lookupProperties

Er zijn twee extra typen aantekeningen beschikbaar voor deze eigenschappen,

Aantekening

Beschrijving

Microsoft.Dynamics.CRM.associatednavigationproperty

De naam van de single-valued navigatie-eigenschap die de verwijzing naar de entiteit bevat.

Microsoft.Dynamics.CRM.lookuplogicalname

De logische naam van de entiteit waarnaar het opzoekactie verwijst.

Deze eigenschappen kunnen ook opgemaakte waarden bevatten, zoals beschreven in Opgemaakte waarden ophalen. Behalve opgemaakte waarden kunt u ook de andere aantekeningen retourneren als u de odata.include-annotations-voorkeur instelt op het gewenste type aantekening, of u kunt de waarde instellen op "*" om alle drie de waarden te retourneren. Het volgende voorbeeld toont de aanvraag en respons om informatie op te halen over de _customerid_value-opzoekeigenschap van de incident-entiteit, inclusief aantekeningen.

  • Aanvraag

    GET cc_WebAPI_ServiceURI/incidents(39dd0b31-ed8b-e511-80d2-00155d2a68d4)?$select=title,customerid_value&$expand=customerid_contact($select=fullname) HTTP/1.1
    Accept: application/json
    Content-Type: application/json; charset=utf-8
    OData-MaxVersion: 4.0
    OData-Version: 4.0
    Prefer: odata.include-annotations="*"
    
  • Respons

    HTTP/1.1 200 OK
    Content-Type: application/json; odata.metadata=minimal
    OData-Version: 4.0
    Preference-Applied: odata.include-annotations="*"
    
    {
       "@odata.context":"cc_WebAPI_ServiceURI/$metadata#incidents(title,_customerid_value,customerid_contact(fullname))/$entity",
       "@odata.etag":"W/\"504696\"",
       "_customerid_value@Microsoft.Dynamics.CRM.associatednavigationproperty":"customerid_contact",
       "_customerid_value@Microsoft.Dynamics.CRM.lookuplogicalname":"contact",
       "_customerid_value@OData.Community.Display.V1.FormattedValue":"Susanna Stubberod (sample)",
       "_customerid_value":"7ddd0b31-ed8b-e511-80d2-00155d2a68d4",
       "incidentid":"39dd0b31-ed8b-e511-80d2-00155d2a68d4",
       "customerid_contact":{
          "@odata.etag":"W/\"503587\"",
          "fullname":"Susanna Stubberod (sample)",
          "contactid":"7ddd0b31-ed8b-e511-80d2-00155d2a68d4"
       }
    }
    

Records filteren op basis van navigatie-eigenschappen met één waarde

Met navigatie-eigenschappen kunt u toegang krijgen tot gegevens die gerelateerd zijn aan de huidige entiteit.Single-valued navigatie-eigenschappen corresponderen met opzoekkenmerken die veel-op-een-relaties ondersteunen en waarmee verwijzingen naar andere entiteiten kunnen worden ingesteld.Meer informatie:d80cfb87-d4f1-4c75-bcc8-4f54d1351e26#bkmk_navprops

U kunt uw records voor entiteitssets filteren op basis van waarden van single-valued navigatie-eigenschappen. U kunt bijvoorbeeld onderliggende accounts ophalen voor de opgegeven account-id. Om records te filteren, kunt u alleen de waarde gebruiken van het primaire kenmerk van de entiteit waarnaar wordt verwezen door de single-valued navigatie-eigenschap. Bijvoorbeeld:

  • Alle bijbehorende accounts ophalen voor een opgegeven contactpersoon-id.

    • Aanvraag

      GET cc_WebAPI_ServiceURI/accounts?$select=name&$filter=primarycontactid/contactid%20eq%20a0dbf27c-8efb-e511-80d2-00155db07c77 HTTP/1.1
      Accept: application/json
      OData-MaxVersion: 4.0
      OData-Version: 4.0
      
    • Respons

      HTTP/1.1 200 OK
      Content-Type: application/json; odata.metadata=minimal
      OData-Version: 4.0
      
      {
        "@odata.context":"cc_WebAPI_ServiceURI/$metadata#accounts(name)",
           "value":[
          {
            "@odata.etag":"W/\"513479\"",
            "name":"Adventure Works (sample)",
            "accountid":"3adbf27c-8efb-e511-80d2-00155db07c77"
          },{
            "@odata.etag":"W/\"514057\"",
            "name":"Blue Yonder Airlines (sample)",
            "accountid":"3edbf27c-8efb-e511-80d2-00155db07c77"
          }
        ]
      }
      
  • Haal onderliggende accounts op voor de opgegeven account-id.

    • Aanvraag

      GET cc_WebAPI_ServiceURI/accounts?$select=name&$filter=parentaccountid/accountid%20eq%203adbf27c-8efb-e511-80d2-00155db07c77
      Accept: application/json
      OData-MaxVersion: 4.0
      OData-Version: 4.0
      
    • Respons

      HTTP/1.1 200 OK
      Content-Type: application/json; odata.metadata=minimal
      OData-Version: 4.0
      
      {
        "@odata.context":"cc_WebAPI_ServiceURI/$metadata#accounts(name)",
          "value":[
          {
            "@odata.etag":"W/\"514058\"",
            "name":"Sample Child Account 1",
            "accountid":"915e89f5-29fc-e511-80d2-00155db07c77"
          },{
            "@odata.etag":"W/\"514061\"",
            "name":"Sample Child Account 2",
            "accountid":"03312500-2afc-e511-80d2-00155db07c77"
          }
        ]
      }
      

Gerelateerde entiteiten ophalen door navigatie-eigenschappen uit te breiden

Gebruik de systeemqueryoptie $expand in de navigatie-eigenschappen om te bepalen welke gegevens van gerelateerde entiteiten worden geretourneerd. Er zijn twee typen navigatie-eigenschappen:

  • Single-valued navigatie-eigenschappen corresponderen met opzoekkenmerken die veel-op-een-relaties ondersteunen en waarmee verwijzingen naar andere entiteiten kunnen worden ingesteld.

  • Collection-valued navigatie-eigenschappen corresponderen met een-op-veel-relaties of veel-op-veel-relaties.

Als u alleen de naam van de navigatie-eigenschap opneemt, ontvangt u alle eigenschappen van gerelateerde records. U kunt het aantal geretourneerde eigenschappen voor de gerelateerde records beperken door tussen haakjes de systeemqueryoptie $select toe te voegen achter de naam van de navigatie-eigenschap. Dit kunt u doen bij zowel single-valued als ook collection-valued navigatie-eigenschappen.

Notitie

Als u gerelateerde entiteiten wilt ophalen voor een entiteitsexemplaar, raadpleegt u Gerelateerde entiteiten ophalen voor een entiteit door navigatie-eigenschappen uit te vouwen.

  • Gerelateerde entiteiten ophalen door single-valued navigatie-eigenschappen uit te vouwen: In het volgende voorbeeld ziet u hoe u de contactpersoon voor alle accountrecords kunt ophalen. Voor de gerelateerde contactpersoonrecords worden alleen de contactid en de fullname opgehaald.

    • Aanvraag

      GET cc_WebAPI_ServiceURI/accounts?$select=name&$expand=primarycontactid($select=contactid,fullname) HTTP/1.1
      Accept: application/json
      OData-MaxVersion: 4.0
      OData-Version: 4.0
      
    • Respons

      HTTP/1.1 200 OK
      Content-Type: application/json; odata.metadata=minimal
      OData-Version: 4.0
      
      {
        "@odata.context":"cc_WebAPI_ServiceURI/$metadata#accounts(name,primarycontactid,primarycontactid(contactid,fullname))","value":[
          {
            "@odata.etag":"W/\"513475\"","name":"Fourth Coffee (sample)","accountid":"36dbf27c-8efb-e511-80d2-00155db07c77","primarycontactid":{
              "contactid":"9cdbf27c-8efb-e511-80d2-00155db07c77","fullname":"Yvonne McKay (sample)"
            }
          },{
            "@odata.etag":"W/\"513477\"","name":"Litware, Inc. (sample)","accountid":"38dbf27c-8efb-e511-80d2-00155db07c77","primarycontactid":{
              "contactid":"9edbf27c-8efb-e511-80d2-00155db07c77","fullname":"Susanna Stubberod (sample)"
            }
          },{
            "@odata.etag":"W/\"513479\"","name":"Adventure Works (sample)","accountid":"3adbf27c-8efb-e511-80d2-00155db07c77","primarycontactid":{
              "contactid":"a0dbf27c-8efb-e511-80d2-00155db07c77","fullname":"Nancy Anderson (sample)"
            }
          },{
            "@odata.etag":"W/\"513481\"","name":"Fabrikam, Inc. (sample)","accountid":"3cdbf27c-8efb-e511-80d2-00155db07c77","primarycontactid":{
              "contactid":"a2dbf27c-8efb-e511-80d2-00155db07c77","fullname":"Maria Campbell (sample)"
            }
          },{
            "@odata.etag":"W/\"514057\"","name":"Blue Yonder Airlines (sample)","accountid":"3edbf27c-8efb-e511-80d2-00155db07c77","primarycontactid":{
              "contactid":"a0dbf27c-8efb-e511-80d2-00155db07c77","fullname":"Nancy Anderson (sample)"
            }
          },{
            "@odata.etag":"W/\"513485\"","name":"City Power & Light (sample)","accountid":"40dbf27c-8efb-e511-80d2-00155db07c77","primarycontactid":{
              "contactid":"a6dbf27c-8efb-e511-80d2-00155db07c77","fullname":"Scott Konersmann (sample)"
            }
          },{
            "@odata.etag":"W/\"513487\"","name":"Contoso Pharmaceuticals (sample)","accountid":"42dbf27c-8efb-e511-80d2-00155db07c77","primarycontactid":{
              "contactid":"a8dbf27c-8efb-e511-80d2-00155db07c77","fullname":"Robert Lyon (sample)"
            }
          },{
            "@odata.etag":"W/\"513489\"","name":"Alpine Ski House (sample)","accountid":"44dbf27c-8efb-e511-80d2-00155db07c77","primarycontactid":{
              "contactid":"aadbf27c-8efb-e511-80d2-00155db07c77","fullname":"Paul Cannon (sample)"
            }
          },{
            "@odata.etag":"W/\"513491\"","name":"A. Datum Corporation (sample)","accountid":"46dbf27c-8efb-e511-80d2-00155db07c77","primarycontactid":{
              "contactid":"acdbf27c-8efb-e511-80d2-00155db07c77","fullname":"Rene Valdes (sample)"
            }
          },{
            "@odata.etag":"W/\"513493\"","name":"Coho Winery (sample)","accountid":"48dbf27c-8efb-e511-80d2-00155db07c77","primarycontactid":{
              "contactid":"aedbf27c-8efb-e511-80d2-00155db07c77","fullname":"Jim Glynn (sample)"
            }
          }
        ]
      }
      

    In plaats van dat de gerelateerde entiteiten voor entiteitssets worden geretourneerd, kunt u ook verwijzingen (koppelingen) naar de gerelateerde entiteit laten retourneren door de single-valued navigatie-eigenschap uit te vouwen met de optie $ref. In het volgende voorbeeld worden koppelingen naar contactpersoonrecords voor alle accounts geretourneerd.

    • Aanvraag

      GET cc_WebAPI_ServiceURI/accounts?$select=name&$expand=primarycontactid/$ref HTTP/1.1
      Accept: application/json
      OData-MaxVersion: 4.0
      OData-Version: 4.0
      
    • Respons

      HTTP/1.1 200 OK
      Content-Type: application/json; odata.metadata=minimal
      OData-Version: 4.0
      
      {
        "@odata.context":"cc_WebAPI_ServiceURI/$metadata#accounts(name,primarycontactid)","value":[
          {
            "@odata.etag":"W/\"513475\"","name":"Fourth Coffee (sample)","_primarycontactid_value":"9cdbf27c-8efb-e511-80d2-00155db07c77","accountid":"36dbf27c-8efb-e511-80d2-00155db07c77","primarycontactid":{
              "@odata.id":"cc_WebAPI_ServiceURI/contacts(9cdbf27c-8efb-e511-80d2-00155db07c77)"
            }
          },{
            "@odata.etag":"W/\"513477\"","name":"Litware, Inc. (sample)","_primarycontactid_value":"9edbf27c-8efb-e511-80d2-00155db07c77","accountid":"38dbf27c-8efb-e511-80d2-00155db07c77","primarycontactid":{
              "@odata.id":"cc_WebAPI_ServiceURI/contacts(9edbf27c-8efb-e511-80d2-00155db07c77)"
            }
          },{
            "@odata.etag":"W/\"513479\"","name":"Adventure Works (sample)","_primarycontactid_value":"a0dbf27c-8efb-e511-80d2-00155db07c77","accountid":"3adbf27c-8efb-e511-80d2-00155db07c77","primarycontactid":{
              "@odata.id":"cc_WebAPI_ServiceURI/contacts(a0dbf27c-8efb-e511-80d2-00155db07c77)"
            }
          },{
            "@odata.etag":"W/\"513481\"","name":"Fabrikam, Inc. (sample)","_primarycontactid_value":"a2dbf27c-8efb-e511-80d2-00155db07c77","accountid":"3cdbf27c-8efb-e511-80d2-00155db07c77","primarycontactid":{
              "@odata.id":"cc_WebAPI_ServiceURI/contacts(a2dbf27c-8efb-e511-80d2-00155db07c77)"
            }
          },{
            "@odata.etag":"W/\"514057\"","name":"Blue Yonder Airlines (sample)","_primarycontactid_value":"a0dbf27c-8efb-e511-80d2-00155db07c77","accountid":"3edbf27c-8efb-e511-80d2-00155db07c77","primarycontactid":{
              "@odata.id":"cc_WebAPI_ServiceURI/contacts(a0dbf27c-8efb-e511-80d2-00155db07c77)"
            }
          },{
            "@odata.etag":"W/\"513485\"","name":"City Power & Light (sample)","_primarycontactid_value":"a6dbf27c-8efb-e511-80d2-00155db07c77","accountid":"40dbf27c-8efb-e511-80d2-00155db07c77","primarycontactid":{
              "@odata.id":"cc_WebAPI_ServiceURI/contacts(a6dbf27c-8efb-e511-80d2-00155db07c77)"
            }
          },{
            "@odata.etag":"W/\"513487\"","name":"Contoso Pharmaceuticals (sample)","_primarycontactid_value":"a8dbf27c-8efb-e511-80d2-00155db07c77","accountid":"42dbf27c-8efb-e511-80d2-00155db07c77","primarycontactid":{
              "@odata.id":"cc_WebAPI_ServiceURI/contacts(a8dbf27c-8efb-e511-80d2-00155db07c77)"
            }
          },{
            "@odata.etag":"W/\"513489\"","name":"Alpine Ski House (sample)","_primarycontactid_value":"aadbf27c-8efb-e511-80d2-00155db07c77","accountid":"44dbf27c-8efb-e511-80d2-00155db07c77","primarycontactid":{
              "@odata.id":"cc_WebAPI_ServiceURI/contacts(aadbf27c-8efb-e511-80d2-00155db07c77)"
            }
          },{
            "@odata.etag":"W/\"513491\"","name":"A. Datum Corporation (sample)","_primarycontactid_value":"acdbf27c-8efb-e511-80d2-00155db07c77","accountid":"46dbf27c-8efb-e511-80d2-00155db07c77","primarycontactid":{
              "@odata.id":"cc_WebAPI_ServiceURI/contacts(acdbf27c-8efb-e511-80d2-00155db07c77)"
            }
          },{
            "@odata.etag":"W/\"513493\"","name":"Coho Winery (sample)","_primarycontactid_value":"aedbf27c-8efb-e511-80d2-00155db07c77","accountid":"48dbf27c-8efb-e511-80d2-00155db07c77","primarycontactid":{
              "@odata.id":"cc_WebAPI_ServiceURI/contacts(aedbf27c-8efb-e511-80d2-00155db07c77)"
            }
          }
        ]
      }
      
    • Gerelateerde entiteiten ophalen door collection-valued navigatie-eigenschappen uit te vouwen: Als u op collection-valued navigatieparameters uitvouwt om gerelateerde entiteiten voor entiteitsets op te halen, wordt een @odata.nextLink-eigenschap voor de gerelateerde entiteiten geretourneerd. U moet waarde van de eigenschap @odata.nextLink gebruiken in een nieuwe GET-aanvraag om de gewenste gegevens te laten retourneren.

      In het volgende voorbeeld worden de taken opgehaald die zijn toegewezen aan de bovenste vijf accountrecords.

      • Aanvraag

        GET cc_WebAPI_ServiceURI/accounts?$top=5&$select=name&$expand=Account_Tasks($select%20=%20subject,%20scheduledstart) HTTP/1.1
        Accept: application/json
        OData-MaxVersion: 4.0
        OData-Version: 4.0
        
      • Respons

        HTTP/1.1 200 OK
        Content-Type: application/json; odata.metadata=minimal
        OData-Version: 4.0
        
        {
          "@odata.context":"cc_WebAPI_ServiceURI/$metadata#accounts(name,Account_Tasks,Account_Tasks(subject,scheduledstart))","value":[
            {
              "@odata.etag":"W/\"513475\"","name":"Fourth Coffee (sample)","accountid":"36dbf27c-8efb-e511-80d2-00155db07c77","Account_Tasks":[
        
              ],"Account_Tasks@odata.nextLink":"cc_WebAPI_ServiceURI/accounts(36dbf27c-8efb-e511-80d2-00155db07c77)/Account_Tasks?$select%20=%20subject,%20scheduledstart"
            },{
              "@odata.etag":"W/\"513477\"","name":"Litware, Inc. (sample)","accountid":"38dbf27c-8efb-e511-80d2-00155db07c77","Account_Tasks":[
        
              ],"Account_Tasks@odata.nextLink":"cc_WebAPI_ServiceURI/accounts(38dbf27c-8efb-e511-80d2-00155db07c77)/Account_Tasks?$select%20=%20subject,%20scheduledstart"
            },{
              "@odata.etag":"W/\"514074\"","name":"Adventure Works (sample)","accountid":"3adbf27c-8efb-e511-80d2-00155db07c77","Account_Tasks":[
        
              ],"Account_Tasks@odata.nextLink":"cc_WebAPI_ServiceURI/accounts(3adbf27c-8efb-e511-80d2-00155db07c77)/Account_Tasks?$select%20=%20subject,%20scheduledstart"
            },{
              "@odata.etag":"W/\"513481\"","name":"Fabrikam, Inc. (sample)","accountid":"3cdbf27c-8efb-e511-80d2-00155db07c77","Account_Tasks":[
        
              ],"Account_Tasks@odata.nextLink":"cc_WebAPI_ServiceURI/accounts(3cdbf27c-8efb-e511-80d2-00155db07c77)/Account_Tasks?$select%20=%20subject,%20scheduledstart"
            },{
              "@odata.etag":"W/\"514057\"","name":"Blue Yonder Airlines (sample)","accountid":"3edbf27c-8efb-e511-80d2-00155db07c77","Account_Tasks":[
        
              ],"Account_Tasks@odata.nextLink":"cc_WebAPI_ServiceURI/accounts(3edbf27c-8efb-e511-80d2-00155db07c77)/Account_Tasks?$select%20=%20subject,%20scheduledstart"
            }
          ]
        }
        
  • Gerelateerde entiteiten ophalen door zowel single-valued als collection-valued navigatie-eigenschappen uit te vouwen: In het volgende voorbeeld ziet u hoe u gerelateerde entiteiten voor entiteitssets kunt uitvouwen door gebruik te maken van zowel single- als collection-valued navigatie-eigenschappen. Zoals reeds gezegd, als u op collection-valued navigatie-eigenschappen uitvouwt om gerelateerde entiteiten op te halen voor entiteitsets, wordt een @odata.nextLink-eigenschap voor de gerelateerde entiteiten geretourneerd. U moet waarde van de eigenschap @odata.nextLink gebruiken in een nieuwe GET-aanvraag om de gewenste gegevens te laten retourneren.

    In dit voorbeeld worden de contactpersoon en de toegewezen taken voor de bovenste drie accounts opgehaald.

    • Aanvraag

      GET cc_WebAPI_ServiceURI/accounts?$top=3&$select=name&$expand=primarycontactid($select=contactid,fullname),Account_Tasks($select=subject,scheduledstart)  HTTP/1.1
      Accept: application/json
      OData-MaxVersion: 4.0
      OData-Version: 4.0
      
    • Respons

      HTTP/1.1 200 OK
      Content-Type: application/json; odata.metadata=minimal
      OData-Version: 4.0
      
      {
        "@odata.context":"cc_WebAPI_ServiceURI/$metadata#accounts(name,primarycontactid,Account_Tasks,primarycontactid(contactid,fullname),Account_Tasks(subject,scheduledstart))","value":[
          {
            "@odata.etag":"W/\"550614\"",
                "name":"Fourth Coffee (sample)",
                "accountid":"5b9648c3-68f7-e511-80d3-00155db53318",
                "primarycontactid":{
                    "contactid":"c19648c3-68f7-e511-80d3-00155db53318",
                    "fullname":"Yvonne McKay (sample)"
            },
            "Account_Tasks":[
      
             ],"Account_Tasks@odata.nextLink":"cc_WebAPI_ServiceURI/accounts(5b9648c3-68f7-e511-80d3-00155db53318)/Account_Tasks?$select=subject,scheduledstart"
          },{
            "@odata.etag":"W/\"550615\"",
                "name":"Litware, Inc. (sample)",
                "accountid":"5d9648c3-68f7-e511-80d3-00155db53318",
                "primarycontactid":{
                    "contactid":"c39648c3-68f7-e511-80d3-00155db53318",
                    "fullname":"Susanna Stubberod (sample)"
            },"Account_Tasks":[
      
            ],"Account_Tasks@odata.nextLink":"cc_WebAPI_ServiceURI/accounts(5d9648c3-68f7-e511-80d3-00155db53318)/Account_Tasks?$select=subject,scheduledstart"
          },{
            "@odata.etag":"W/\"550616\"",
            "name":"Adventure Works (sample)",
            "accountid":"5f9648c3-68f7-e511-80d3-00155db53318",
            "primarycontactid":{
              "contactid":"c59648c3-68f7-e511-80d3-00155db53318",
              "fullname":"Nancy Anderson (sample)"
            },"Account_Tasks":[
      
            ],"Account_Tasks@odata.nextLink":"cc_WebAPI_ServiceURI/accounts(5f9648c3-68f7-e511-80d3-00155db53318)/Account_Tasks?$select=subject,scheduledstart"
          }
        ]
      }
      

Zie ook

Voorbeeld gegevens Web API-query (C#)
Voorbeeld web-API querygegevens (JavaScript op client)
Bewerkingen uitvoeren met de web-API
HTTP-aanvragen opstellen en fouten afhandelen
Een entiteit maken met de web-API
Een entiteit ophalen met de web-API
Entiteiten bijwerken en verwijderen met de Web-API
Entiteiten koppelen en ontkoppelen met de web-API
Web-API-functies gebruiken
Web-API-acties gebruiken
Batchbewerkingen uitvoeren met de Web API
Zich als een andere gebruiker voordoen die de Web API gebruikt
Voorwaardelijke bewerkingen uitvoer met de web-API

Microsoft Dynamics 365

© 2017 Microsoft. Alle rechten voorbehouden. Auteursrecht