Del via


Forespørg på data ved hjælp af Web-API'en

 

Udgivet: januar 2017

Gælder for: Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2016, Dynamics CRM Online

Hvis du vil hente data til et objektsæt, skal du benytte en GET-anmodning. Når du henter data, kan du anvende forespørgselsindstillinger for at angive kriterier for de data, du ønsker, og de objektegenskaber, der skal returneres.

Dette emne indeholder

Grundlæggende forespørgselseksempel

Grænser for antallet af returnerede objekter

Angiv antallet af objekter, der skal returneres i en side

Anvende systemforespørgselsindstillinger

Anmode om specifikke egenskaber

Filtrer resultater

Placering af resultater i rækkefølge

Brug parameteraliaser med systemforespørgselsindstillinger

Begrænse resultaterne

Hente en optælling af objekter

Medtage formaterede værdier

Hente data om egenskaber for opslag

Filtrer poster, der er baseret på navigationsegenskaben enkeltværdi

Hente relaterede objekter ved at udvide navigationsegenskaber

Grundlæggende forespørgselseksempel

Dette eksempel forespørger på accounts-objektsættet og bruger systemforespørgselsindstillingerne $select og $top til at returnere egenskaben name for de første tre konti:

  • Anmodning

    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"
      }
     ]
    }
    

Grænser for antallet af returnerede objekter

Medmindre du angiver en mindre sidestørrelse, returneres højst 5000 objekter for hver anmodning. Hvis der er flere objekter, der opfylder forespørgselsfilterkriterierne, returneres en @odata.nextLink-egenskab med resultaterne. Brug værdien af den @odata.nextLink-egenskaben med en ny GET-anmodning for at vende tilbage til den næste side med data.

Bemærk

Forespørgsler om modelobjekter er ikke begrænset eller sideinddelt.Flere oplysninger:Forespørg på metadata ved hjælp af Web-API'en

Angiv antallet af objekter, der skal returneres i en side

Brug odata.maxpagesize-præferenceværdien til at anmode om antallet af objekter, der returneres i svaret.

Bemærk

Du kan ikke bruge en odata.maxpagesize-præferenceværdi, der er større end 5000.

Følgende eksempel forespørger på objektsættet accounts og returnerer name-egenskaben for de første tre konti.

  • Anmodning

    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
    
  • Svar

    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"
    }
    

Brug værdien af @odata.nextLink-egenskaben til at anmode om det næste sæt poster. Du må ikke ændre eller tilføje eventuelle supplerende systemforespørgselsindstillinger til værdien. For hver efterfølgende anmodning om yderligere sider skal du bruge den samme odata.maxpagesize-præferenceværdi, der bruges i den oprindelige anmodning. Du skal desuden cachelagre de returnerede resultater eller værdien af @odata.nextLink-egenskaben, så du kan vende tilbage til tidligere hentede sider.

Bemærk

Værdien af @odata.nextLink-egenskaben er URI-kodet. Hvis du URI-koder værdien, før du sender den, vil XML-cookie-oplysningerne i URL-adressen medføre en fejl.

Anvende systemforespørgselsindstillinger

Hver af de systemforespørgselsindstillinger, du føjer til URL-adressen for objektsættet tilføjes ved hjælp af syntaksen for forespørgselsstrenge. Den første tilføjes efter [?] og efterfølgende forespørgselsindstillinger separeres ved hjælp af [&] . Der skelnes mellem store og små bogstaver for alle forespørgselsindstillinger, som vist i følgende eksempel.

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

Anmode om specifikke egenskaber

Brug systemforespørgselsindstillingen $select til at begrænse de egenskaber, der returneres som vist i følgende eksempel.

GET cc_WebAPI_ServiceURI/accounts?$select=name,revenue

Vigtigt

Dette er bedste praksis for ydeevne. Hvis egenskaberne ikke angives ved hjælp af $select, returneres alle egenskaber.

Du kan forvente, at der automatisk returneres flere skrivebeskyttede egenskaber, når du anmoder om visse typer af egenskaber.

Hvis du anmoder om en pengeværdi, returneres _transactioncurrencyid_value-opslagsegenskaben. Denne egenskab indeholder kun GUID-værdien for transaktionsvalutaen,, så du kan bruge denne værdi til at hente oplysninger om valutaen ved hjælp af transactioncurrency EntityType. Ved at anmode om anmærkninger kan du også få ekstra data i den samme anmodning.Flere oplysninger:Hente data om egenskaber for opslag

Hvis du anmoder om en egenskab, der er en del af en sammensat attribut for en adresse, får du også den sammensatte egenskab. Hvis din forespørgsel f.eks. anmoder om egenskaben address1_line1 for en kontakt, returneres address1_composite-egenskaben også.Flere oplysninger:5bc03503-649d-42b5-a21f-e642c9923453#BKMK_CompositeAttributes.

Filtrer resultater

Brug systemforespørgselsindstillingen $filter til at angive kriterier for, hvilke objekter der vil blive returneret.

Standardfilteroperatorer

Web API'en understøtter de ODatastandardfilteroperatorer, der er angivet i følgende tabel.

Operatør

Beskrivelse

Eksempel

Sammenligningsoperatorer

eq

Er lig med

$filter=revenue eq 100000

ne

Er ikke lig med

$filter=revenue ne 100000

gt

Større end

$filter=revenue gt 100000

ge

Større end eller lig med

$filter=revenue ge 100000

lt

Mindre end

$filter=revenue lt 100000

le

Mindre end eller lig med

$filter=revenue le 100000

Logiske operatorer

and

Logisk og

$filter=revenue lt 100000 and revenue gt 2000

or

Logisk eller

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

not

Logisk negation

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

Gruppering af operatorer

( )

Prioritetsgruppering

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

Bemærk

Dette er et undersæt af 11.2.5.1.1 Indbyggede filterhandlinger. Matematiske operatorer og sammenligningen af operatorer understøttes ikke i Web API'en.

Standardforespørgselfunktioner

Web API'en understøtter disse OData-standardfunktioner for strengeforespørgsel.

Funktion

Eksempel

contains

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

endswith

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

startswith

$filter=startswith(name,'a')

Bemærk

Dette er et undersæt af 11.2.5.1.2 Indbyggede forespørgselsfunktioner.Date, Math, Type, Geo og andre strengefunktioner understøttes ikke i Web-API'en.

Microsoft Dynamics 365 Web-API-funktioner til forespørgsler

Microsoft Dynamics 365 har en række særlige funktioner, der accepterer parametre, returnerer booleske værdier og kan bruges som filterkriterier i en forespørgsel. Se Web API Query Function Reference for at få vist en liste over disse funktioner. Følgende er et eksempel på Between Function-søgningen efter konti med et antal medarbejdere mellem 5 og 2000.

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

Flere oplysninger:Oprette en forespørgsel med funktioner.

Placering af resultater i rækkefølge

Angiv den rækkefølge, som elementerne returneres i, ved hjælp af systemforespørgselsindstillingen $orderby. Brug suffikset asc eller desc til at angive henholdsvis stigende eller faldende rækkefølge. Standarden er stigende, hvis suffikset ikke anvendes. I følgende eksempel vises hentning af navnet og omsætningsegenskaberne for konti arrangeret efter stigende omsætning og faldende navn.

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

Brug parameteraliaser med systemforespørgselsindstillinger

Du kan bruge parameteraliaser for systemforespørgselsindstillingerne $filter og $orderby. Parameteraliaser giver mulighed for, at den samme værdi bruges flere gange i en anmodning. Hvis aliaset ikke tildeles en værdi, antages det at være null.

Uden parameteraliasser

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

Med parameteraliasser

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

Du kan også bruge parameteraliasser, når du bruger funktioner.Flere oplysninger:Bruge Web-API-funktioner

Begrænse resultaterne

Du kan begrænse de antal resultater, der returneres, ved hjælp af systemforespørgselsindstillingen $top. Følgende eksempel returnerer kun de tre første kontoobjekter.

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

Bemærk

Begrænsning af resultaterne ved hjælp af $top forhindrer, at odata.maxpagesize-præferencen anvendes. Du kan bruge odata.maxpagesize-præferencen eller $top, men ikke begge dele på samme tid. Du kan finde flere oplysninger om odata.maxpagesize ved at se Angiv antallet af objekter, der skal returneres i en side.

Du bør heller ikke bruge $top med $count.

Hente en optælling af objekter

Brug systemforespørgselsindstillingen $count med en værdi på true for at omfatte en optælling af objekter, der opfylder filterkriterierne op til 5000.

Bemærk

Værdien for antallet repræsenterer dog ikke det samlede antal objekter i systemet. Det er begrænset af det maksimale antal objekter, der kan returneres.Flere oplysninger:Grænser for antallet af returnerede objekter

Svaregenskaben @odata.count indeholder antallet af enheder, der opfylder filterkriterierne, uanset odata.maxpagesize-præferencebegrænsning.

Bemærk

Du bør ikke bruge $top med $count.

Følgende eksempel viser, at der er ti konti, der svarer til kriterierne, hvor navnet indeholder "eksempel", men kun de første tre konti returneres.

  • Anmodning

    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
    
  • Svar

    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"
    }
    

Hvis du ikke vil returnere nogen data undtagen optællingen, kan du anvende $count for enhver samling for kun at få værdien.

  • Anmodning

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

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

Medtage formaterede værdier

Når du vil modtage formaterede værdier for egenskaber med resultaterne, skal du bruge præferencen odata.include-annotations med værdien OData.Community.Display.V1.FormattedValue. Svaret indeholder disse værdier med egenskaber, der svarer til følgende navngivningskonvention:

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

I følgende eksempel forespørges der på kontiobjektsættet, og den første post returneres, herunder egenskaber, som understøtter formaterede værdier.

  • Anmodning

    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"
    
  • Svar

    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" } ]
    }
    

Hente data om egenskaber for opslag

Hvis forespørgslen indeholder egenskaber for opslag, kan du anmode om anmærkninger, der giver yderligere oplysninger om dataene i disse egenskaber. De samme data kan for det meste afledes med kendskab til navigationsegenskaber med enkeltværdi og de data, der er inkluderet i de relaterede objekter. Men i tilfælde, hvor egenskaben repræsenterer en opslagsattribut, der kan referere til mere end én type objekt, kan disse oplysninger fortælle dig, hvilken type objekt opslagsegenskaben refererer til.Flere oplysninger:d80cfb87-d4f1-4c75-bcc8-4f54d1351e26#bkmk_lookupProperties

Der er yderligere to typer anmærkninger tilgængelige for disse egenskaber

Anmærkning

Beskrivelse

Microsoft.Dynamics.CRM.associatednavigationproperty

Navnet på den navigationsegenskab med en enkelt værdi, der indeholder referencen til objektet.

Microsoft.Dynamics.CRM.lookuplogicalname

Det logiske navn på det objekt, der refereres af opslaget.

Disse egenskaber kan også inkludere formaterede værdier som beskrevet i Medtage formaterede værdier. Lige som formateret værdier, du kan returnere de andre anmærkninger ved hjælp af præferencen odata.include-annotations indstillet til den specifikke type anmærkning, du ønsker, eller du kan angive værdien til "*" og returnere alle tre. I følgende eksempel vises anmodningen og svaret for at hente oplysninger om incident-objektets opslagsegenskab _customerid_value med anmærkninger inkluderet.

  • Anmodning

    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="*"
    
  • Svar

    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"
       }
    }
    

Filtrer poster, der er baseret på navigationsegenskaben enkeltværdi

Navigationsegenskaber giver dig adgang til data, der er relateret til det aktuelle objekt. Navigationsegenskaber med enkeltværdisvarer til opslagsattributter, der understøtter mange-til-en-relationer og gør det muligt at indstille en reference til et andet objekt.Flere oplysninger:d80cfb87-d4f1-4c75-bcc8-4f54d1351e26#bkmk_navprops

Du kan filtrere dine objektsætposter baseret på navigationsegenskabsværdier med enkeltværdi. Du kan f.eks. hente underordnede konti for den angivne konto. Du kan kun bruge den primære attributværdi for det objekt, der refererer til navigationsegenskaben med enkeltværdi, til at filtrere poster. Eksempel:

  • Hent alle tilknyttede firmaer for et bestemt kontakt-id

    • Anmodning

      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
      
    • Svar

      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"
          }
        ]
      }
      
  • Hent underordnede firmaer for det angivne konto-id.

    • Anmodning

      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
      
    • Svar

      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"
          }
        ]
      }
      

Hente relaterede objekter ved at udvide navigationsegenskaber

Brug $expand-systemforespørgselsindstillingen i navigationsegenskaberne til at styre, hvilke data der returneres fra de relaterede objekter. Der findes to typer navigationsegenskaber:

  • Navigationsegenskaber med enkeltværdisvarer til opslagsattributter, der understøtter mange-til-en-relationer og gør det muligt at indstille en reference til et andet objekt.

  • Navigationsegenskaberne gruppeværdi svarer til en-til-mange- eller mange-til-mange-relationer.

Hvis du blot inkluderer navnet på navigationsegenskaben, modtager du alle egenskaberne for relaterede poster. Du kan begrænse de egenskaber, der er returneret til relaterede poster, ved hjælp af $select-systemforespørgselsindstillingen i parentes efter navigationsegenskabsnavnet. Brug denne til både navigationsegenskaber med enkeltværdi og gruppeværdi.

Bemærk

Hvis du vil hente relaterede objekter for en objektforekomst, kan du se Hente relaterede objekter for et objekt ved at udvide navigationsegenskaber.

  • Hente relaterede objekter ved at udvide navigationsegenskaber med enkeltværdi: Følgende eksempel demonstrerer, hvordan du henter kontakten for alle firmaposter. Vi henter kun contactid og fullname for de relaterede kontaktposter.

    • Anmodning

      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
      
    • Svar

      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)"
            }
          }
        ]
      }
      

    I stedet for at returnere de relaterede objektsæt kan du også returnere referencer (links) til de tilknyttede objekter ved at udvide navigatoinsegenskaben med enkeltværdi med indstillingen $ref. Følgende eksempel returnerer hyperlinks til kontaktposterne for alle firmaerne.

    • Anmodning

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

      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)"
            }
          }
        ]
      }
      
    • Hente relaterede objekter ved at udvide navigationsegenskaber med gruppeværdi: Hvis du udvider navigationsparametre med gruppeværdi for at hente relaterede objekter for objektsæt, returneres en @odata.nextLink-egenskab til de relaterede objekter. Du skal bruge værdien af @odata.nextLink-egenskaben med en ny GET-anmodning for at returnere de påkrævede data.

      Følgende eksempel henter de opgaver, der er tildelt til de øverste 5 firmaposter.

      • Anmodning

        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
        
      • Svar

        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"
            }
          ]
        }
        
  • Hente relaterede objekter ved at udvide navigationsegenskaber med både enkeltværdi og gruppeværdi: Følgende eksempel viser, hvordan du kan udvide relaterede objekter for objektsæt ved at bruge både navigationsegenskaber med enkeltværdi og gruppeværdi. Som forklaret tidligere vil en udvidelse af navigationsegenskaber med gruppeværdi for at hente relaterede objekter for objektsæt returnere en @odata.nextLink-egenskab for de relaterede objekter. Du skal bruge værdien af @odata.nextLink-egenskaben med en ny GET-anmodning for at returnere de påkrævede data.

    I dette eksempel henter vi kontakten og opgaverne, der er tildelt til de øverste 3 konti.

    • Anmodning

      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
      
    • Svar

      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"
          }
        ]
      }
      

Se også

Eksempel på Web API-forespørgselsdata (C#)
Eksempel på Web API-forespørgselsdata (JavaScript på klientsiden)
Udføre operationer ved hjælp af web-API
Skrive HTTP-anmodninger og håndtere fejl
Oprette et objekt ved hjælp af Web-API
Hente et objekt ved hjælp af web-API'et
Opdatere og slette objekter ved hjælp af web-API'et
Tilknytte og fjerne tilknytningen af objekter ved hjælp af web-API'et
Bruge Web-API-funktioner
Brug Web API-handlinger
Udføre batchhandlinger ved hjælp af Web-API
Efterligne en anden bruger ved hjælp af Web-API'en
Udfør betingede operationer ved hjælp af web-API

Microsoft Dynamics 365

© 2017 Microsoft. Alle rettigheder forbeholdes. Ophavsret