Forespørge på Microsoft Dynamics CRM 2015-data ved hjælp af OData-slutpunkt
Udgivet: november 2016
Gælder for: Dynamics CRM 2015
Du kan finde og hente data med OData-slutpunktet ved at manipulere med URI. Alle handlinger kræver, at du begynder med servicens rod-URI. I Microsoft Dynamics CRM 2015 og opdatering til Microsoft Dynamics CRM Online 2015 er servicerodens URI i det følgende eksempel.
[Your Organization Root URL]/XRMServices/2011/OrganizationData.svc
Bemærk
Organisationens rod-URL skal omfatte navnet på organisationen. Referer til serviceroden ved hjælp af getClientUrl-funktionen i kontekstobjektet. Hvis en webressource skal have en formular som vært, kan du referere til Xrm.Page.context ved at kalde getClientUrl. Ellers skal du medtage en reference til siden ClientGlobalContext.js.aspx, så du kan bruge GetGlobalContext-funktion til at få kontekstobjektet.
Fra servicerodens URI kan du identificere bestemte ressourcer ved hjælp af en ressourcesti og finjustere din forespørgsel ved hjælp af systemets indstillinger for forespørgsel.
Dette emne indeholder
Adgang til Microsoft Dynamics CRM-enhedsdata
Begrænsninger på antallet af returnerede poster
Objektegenskaber
Microsoft Dynamics CRM komplekse typer
EntityReference
OptionSetValue
Penge
BooleanManagedProperty
Relaterede objekter
Adgang til Microsoft Dynamics CRM-enhedsdata
Hvert Microsoft Dynamics 365-objekt repræsenteres i det grundlæggende skemadefinitionssprog (CSDL) som en samling ved hjælp af objektet <EntitySet>. Navnet på hver samling følger navngivningskonventionen for [objektskemanavn] + Set. Dette navn bruges i URL til at få adgang til en samling af objektposter. En liste over alle tilgængelige samlinger vises, når du får vist serviceroden URI. Hvis du vil oprette en forespørgsel, skal du føje kriterier til ressourcestien.
For eksempel kan du i din browser få vist ATOM-firmaobjektposterne (kaldet "objekter") med stien i følgende eksempel.
[Your Organization Root URL]/XRMServices/2011/OrganizationData.svc/AccountSet
Når du får vist listen over firmaposter, kan du se, hvordan hver af dem kan refereres enkeltvist ved at bruge URL-syntaksen i følgende eksempel.
[Your Organization Root URL]/XRMServices/2011/OrganizationData.svc/AccountSet(guid'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx')
Bemærk
For at få vist dataene i Internet Explorer skal du først kontrollere, at Internet Explorer ikke er aktiveret til RSS-feeds-format. Under fanen Indhold i Internetindstillinger. vælg Indstillinger i gruppen Feeds og Web Slices. Klik for at fjerne markeringen af Slå feed-læseruden til-indstillingen. Luk og åbn Internet Explorer igen.
Begrænsninger på antallet af returnerede poster
Hver gang du henter poster, returneres kun de øverste 50 poster i forespørgslen. Hvis der er mere end 50 poster, vil der være en <link rel="next" href="<url to next set of records>" >-node i XML- eller JSON**__next**-egenskaben i slutningen af resultatsættet. Du kan bruge URL-værdien i den pågældende node eller egenskab til at fortsætte med det næste sæt poster. URL-adressen indeholder en $skiptoken-parameter, som indeholder oplysninger om grænsen for sideinddeling.
For at hente flere poster skal du oprette en metode, som registrerer tilstedeværelsen af denne node eller egenskab, og bruge den URL-adresse, der er angivet, for at hente det næste sæt poster. Du kan finde flere oplysninger i: Eksempel: Hent flere poster ved hjælp af OData-slutpunktet med JavaScript,
Objektegenskaber
Hvert grundlæggende skemadefinitionssprogs (CSDL) <EntitySet> refererer til et <EntityType>-element, der beskriver egenskaberne og relationerne for et objekt. Inden for <EntityType>-elementerne svarer < Egenskab>-elementerne til Microsoft Dynamics 365-objektattributter. Hver egenskab er tildelt en datatype, der svarer til en af de primitive EDM (Entity Data Model)-datatyper eller en <ComplexType>, der er defineret specifikt for Microsoft Dynamics 365. I tabellen nedenfor vises datatyperne.
OData-type |
Microsoft Dynamics 365-datatype |
---|---|
Edm.Boolean |
Boolean |
Edm.DateTime |
DateTime |
Edm.Decimal |
Decimal |
Edm.Double |
Double |
Edm.Guid |
UniqueIdentifier |
Edm.Int32 |
Integer |
Edm.Int64 |
BigInt |
Edm.String |
String |
Microsoft.Crm.Sdk.Data.Services.EntityReference |
EntityReference |
Microsoft.Crm.Sdk.Data.Services.OptionSetValue |
OptionSetValue |
Microsoft.Crm.Sdk.Data.Services.Penge |
|
Microsoft.Crm.Sdk.Data.Services.BooleanManagedProperty |
Microsoft Dynamics CRM komplekse typer
Bestemte datatyper, der bruges af Microsoft Dynamics 365, kan ikke bruge de simple EDM-datatyper.
Bemærk
Når du vil angive komplekse typeværdier i Microsoft Dynamics 365 til null, skal du indstille alle egenskaber for den komplekse type til null. Du kan finde flere oplysninger under Angive komplekse typer til null.
EntityReference
Typen Microsoft.Crm.Sdk.Data.Services.EntityReference repræsenterer et opslag. Den svarer til EntityReference. Følgende tabel viser de egenskaber.
Navn |
Skriv |
Beskrivelse |
---|---|---|
Id |
GUID |
Det entydige id for den post, der er forbundet i opslaget. |
LogicalName |
String |
Navnet på objektet. |
Name |
String |
Værdien af den primære attribut for den post, der er forbundet i opslaget. |
Følgende eksempel er en ATOM XML-EntityReference:
<d:PrimaryContactId m:type="Microsoft.Crm.Sdk.Data.Services.EntityReference">
<d:Id m:type="Edm.Guid">76713858-5e81-df11-afdb-00155dba380a</d:Id>
<d:LogicalName>contact</d:LogicalName>
<d:Name>Cat Francis (sample)</d:Name>
</d:PrimaryContactId>
Følgende eksempel er en JSON-EntityReference:
"PrimaryContactId" :{
"__metadata": {"type": "Microsoft.Crm.Sdk.Data.Services.EntityReference" },
"Id": "78713858-5e81-df11-afdb-00155dba380a",
"LogicalName": "contact",
"Name": "Cathan Cook (sample)"}
OptionSetValue
Typen Microsoft.Crm.Sdk.Data.Services.OptionSetValue repræsenterer en valglisteattribut. Den svarer til OptionSetValue. I følgende tabel vises egenskaber.
Navn |
Skriv |
Beskrivelse |
---|---|---|
Value |
Number |
Den valgte værdi af OptionSet-attributten. |
Følgende eksempel er et ATOMXMLOptionSetValue.
<d:PreferredContactMethodCode m:type="Microsoft.Crm.Sdk.Data.Services.OptionSetValue">
<d:Value m:type="Edm.Int32">1</d:Value>
</d:PreferredContactMethodCode>
Følgende eksempel er en JSON-OptionSetValue:
"PreferredContactMethodCode" :{
"__metadata": {"type": "Microsoft.Crm.Sdk.Data.Services.OptionSetValue" },
"Value": 1}
Penge
Typen Microsoft.Crm.Sdk.Data.Services.Money repræsenterer en pengeattribut. Den svarer til Money. Følgende tabel viser egenskaberne.
Navn |
Skriv |
Beskrivelse |
---|---|---|
Value |
Number |
Pengebeløbet. |
Følgende eksempel er et ATOMXMLMoney.
<d:CreditLimit m:type="Microsoft.Crm.Sdk.Data.Services.Money">
<d:Value m:type="Edm.Decimal">500.0000</d:Value>
</d:CreditLimit>
Følgende eksempel er en JSON-Money:
"CreditLimit" :{
"__metadata": {"type": "Microsoft.Crm.Sdk.Data.Services.Money" },
"Value": 500.0000}
BooleanManagedProperty
Visse organisationsejede objekter har poster, der kan inkluderes i en løsning, for eksempel WebResource. Administrerede egenskaber kan f.eks. være IsCustomizable, IsHidden og CanBeDeleted. Det svarer til BooleanManagedProperty. Disse Boolean-egenskaber styrer funktionaliteten af komponenter i en administreret løsning. Du kan finde flere oplysninger under Brug administrerede egenskaber. I følgende tabel vises BooleanManagedProperty.
Navn |
Skriv |
Beskrivelse |
---|---|---|
Value |
Boolean |
Angiver, om den administrerede egenskab er i kraft. |
CanBeChanged |
Boolean |
Angiver, om værdien af den administrerede egenskab kan ændres. |
ManagedPropertyLogicalName |
String |
Angiver navnet på den administrerede egenskab. Denne egenskab er skrivebeskyttet. |
Følgende eksempel er et ATOMXMLBooleanManagedProperty.
<d:IsCustomizable m:type="Microsoft.Crm.Sdk.Data.Services.BooleanManagedProperty">
<d:Value m:type="Edm.Boolean">true</d:Value>
<d:CanBeChanged m:type="Edm.Boolean">true</d:CanBeChanged>
<d:ManagedPropertyLogicalName>iscustomizableanddeletable</d:ManagedPropertyLogicalName>
</d:IsCustomizable>
Følgende eksempel er en JSON-BooleanManagedProperty:
"IsCustomizable" :{
"__metadata": { "type": "Microsoft.Crm.Sdk.Data.Services.BooleanManagedProperty" },
"CanBeChanged": true,
"ManagedPropertyLogicalName": "iscustomizableanddeletable",
"Value": true}
Relaterede objekter
Det grundlæggende skemadefinitionssprogs (CSDL) <NavigationProperty>-element omfatter alle 1:N- og N:N-relationer for objektet. Hvis relationen repræsenterer en relation, der refererer til sig selv, vil der være to <NavigationProperty>-elementer for denne relation. Navnet på relationen bruger præfikset Referenced og Referencing til at angive den rolle, som en bestemt post spiller i relationen. Du kan finde flere oplysninger under Typer af objektrelationer.
Brug <NavigationProperty>, når du vil oprette en forespørgsel for at hente relaterede poster. Hvis du i eksemplet nedenfor vil hente en liste over salgsmuligheder, hvor et bestemt firma er kunden, bruges opportunity_customer_accounts-objektrelationen i forbindelse med et bestemt firma:
/AccountSet(guid'[GUID value]')/opportunity_customer_accounts
Hvis du kun har brug for URL-adresser til relaterede poster, kan du bruge $links-forespørgselsindstillingen som i følgende eksempel.
/AccountSet(guid'[GUID value]')/$links/opportunity_customer_accounts
Dette returnerer kun URL-adresser til data for hver relateret post. Resultaterne, der vises i browseren, ligner følgende eksempel.
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<links xmlns="https://schemas.microsoft.com/ado/2007/08/dataservices">
<uri>[Your Organization Root URL]/xrmservices/2011/OrganizationData.svc/OpportunitySet(guid'a6713858-5e81-df11-afdb-00155dba380a')</uri>
<uri>[Your Organization Root URL]/xrmservices/2011/OrganizationData.svc/OpportunitySet(guid'1224342F-D024-4B47-A3F5-FB22D236E655')</uri>
<uri>[Your Organization Root URL]/xrmservices/2011/OrganizationData.svc/OpportunitySet(guid'7AF675A8-4FBE-42E7-8279-C32605D2B49B')</uri>
<uri>[Your Organization Root URL]/xrmservices/2011/OrganizationData.svc/OpportunitySet(guid'2DD9BA88-2A37-4F53-8946-68ABBDC73FC1')</uri>
</links>
Hvis du vil medtage data fra de relaterede poster, når du henter en post, skal du bruge $expand-systemforespørgselsindstillingen.
Se også
Brug OData-slutpunktet med webressourcer
OData-systemforespørgsler ved hjælp af OData-slutpunkt
Udfør grundlæggende datahandlinger, der bruger OData-slutpunkt
Udføre yderligere datahandlinger, der bruger OData-slutpunkt
Brug OData-slutpunktet med Ajax og JScript-webressourcer
Eksempel: Oprette, hente, opdatere og slette ved hjælp af OData-slutpunktet med JavaScript og jQuery
Eksempel: Oprette, hente, opdatere og slette vha. OData-slutpunktet med JavaScript
Eksempel: JQuery-kontakteditor for OData-slutpunkt
OData (Open Data Protocol)
Teknisk artikel: Brug af grupperede indstillinger sammen med slutpunktet REST – JScript
© 2017 Microsoft. Alle rettigheder forbeholdes. Ophavsret