Portaalide Web API-ga andmete päring
Märkus
Alates 12. oktoobrist 2022 on Power Appsi portaalid Power Pages. Lisateave: Microsoft Power Pages on nüüd üldiselt saadaval (ajaveebipostitus)
Peagi migreerime ja ühendame Power Appsi portaalide dokumentatsiooni Power Pagesi dokumentatsiooniga.
Saate portaalides kasutada kättesaadavaid Web API toiminguid. Veebi-API toimingud koosnevad HTTP-päringutest ja vastustest. Selles artiklis kirjeldatakse lugemise näidistoiminguid, meetodeid, URI-sid ja näidis-JSON-i, mida saate kasutada HTTP-päringus.
eeltingimused
Teie portaali versioon peab olema 9.4.1.x või kõrgem.
Luba veebi-API toiminguteks tabel ja väli. Lisateave: Veebi-API veebisätted
Portaalide veebi-API pääseb juurde tabelikirjetele ja järgib seostatud veebirollide kaudu kasutajatele antud tabeli lubasid. Veenduge, et konfigureeriksite õiged tabeliõigused. Lisateave: Veebirollide loomine
Märkus
Portaalide veebi-API-t kasutades Dataverse’i tabelitele viitamisel peate kasutama väärtust EntitySetName. Näiteks konto tabelile juurdepääsuks kasutab koodisüntaks kontode jaoks väärtust EntitySetName.
Päringu kirjed
Järgmine näide sisaldab päringuid kontokirjete kohta:
Toiming | Meetod | URI |
---|---|---|
Too tabelikirjed | Hangi | [Portal URI]/_api/accounts Näide: https://contoso.powerappsportals.com/_api/accounts |
Näidisvastus
{
"value": [
{
"@odata.etag": "W/\"1066412\"",
"name": "Fourth Coffee (sample)",
"accountid": "d2e11ba8-92f6-eb11-94ef-000d3a5aa607"
},
{
"@odata.etag": "W/\"1066413\"",
"name": "Litware, Inc. (sample)",
"accountid": "d4e11ba8-92f6-eb11-94ef-000d3a5aa607"
}
]
}
Kasutage süsteemipäringu suvandeid $select ja $top esimese kolme ettevõtte nimeavaliku tagastamiseks:
Toiming | Meetod | URI |
---|---|---|
Too kolm esimest olemikirjet | Hangi | [Portal URI]/_api/accounts?$select=name,revenue&$top=3 Näide:https://contoso.powerappsportals.com/_api/accounts?$select=name,revenue&$top=3 |
Too konto kasutades konto ID-d:
Toiming | Meetod | URI |
---|---|---|
Kirje jaoks kindla atribuudi toomine | Hangi | [Portal URI]/_api/accounts(e0e11ba8-92f6-eb11-94ef-000d3a5aa607)?$select=name Näide:https://contoso.powerappsportals.com/_api/accounts(e0e11ba8-92f6-eb11-94ef-000d3a5aa607)?$select=name |
Näidisvastus
{
"@odata.etag": "W/\"1066414\"",
"name": "Adventure Works (sample)",
"accountid": "d6e11ba8-92f6-eb11-94ef-000d3a5aa607"
}
Süsteemipäringu suvandite kasutamine
Kõik süsteemipäringu suvandid, mille lisate olemikomplekti URL-ile, lisatakse päringustringide süntaksi abil. Esimene lisatakse [?] järele ja järgmised päringusuvandid on eraldatud funktsiooniga [&]. Kõik päringusuvandid on teenindusjuhtumitundlikud, nagu on näidatud järgmises näites:
Meetod | URI |
---|---|
Hangi | [Portal URI]/_api/accounts?$select=name,revenue&$filter=revenue gt 90000&$top=3 Näide:https://contoso.powerappsportals.com/_api/accounts?$select=name,revenue&$filter=revenue gt 90000&$top=3 |
Taotluse konkreetsed atribuudid
Kasutage suvandit $select süsteemipäring, et piirata tagastatavaid atribuute, nagu on näidatud järgmises näites.
Meetod | URI |
---|---|
Hangi | [Portal URI]/_api/accounts?$select=name,revenue&$top=3 Näide:https://contoso.powerappsportals.com/_api/accounts?$select=name,revenue&$top=3 |
Oluline
See on jõudluse hea tava. Kui atribuute pole määratud ja olete saidi Webapi/<table name>/fields
sätte väärtuse väärtuseks konfigureerinud *
, siis tagastatakse $select
funktsiooniga kõik atribuudid. Kui atribuute pole määratud, siis tagastatakse tõrge.
Filtreeri tulemid
Kasutage suvandit süsteemipäring$filter , et määrata kriteeriumid, mille alusel read tagastatakse.
Standardsed filtrite tehted
Web API toetab järgmises tabelis loetletud OData filtrite standardseid tehteid:
Operaator | Kirjeldus | Näide |
---|---|---|
Võrdlustehted | ||
eq | Võrdne | $filter=tulu eq 100000 |
ne | Pole võrdne | $filter=tulu ne 100000 |
gt | Suurem kui | $filter=tulu gt 100000 |
ge | suurem või võrdne | $filter=tulu ge 100000 |
lt | Väiksem | $filter=tulu lt 100000 |
le | väiksem või võrdne | $filter=tulu le 100000 |
Loogikatehted | ||
JA | Loogiline ja | $filter=tulu lt 100000 ja tulu gt 2000 |
or | Loogiline või | $filter=sisaldab (nimi,’(näidis)’) või sisaldab (nimi,’test’) |
pole | Loogiline negatsioon | $filter=ei sisalda (nimi,’näidis’) |
Grupitehted | ||
( ) | Tähtsuse rühmitamine | (sisaldab (nimi,’näidis’) või sisaldab (nimi,’test’)) ja tulu gt 5000 |
Standardsed päringufunktsioonid
Web API toetab neid OData stringipäringu standardfunktsioone:
Funktsioon | Näide |
---|---|
sisaldab | $filter=sisaldab (nimi,’(näidis)’) |
lõpeb väärtusega | $filter=lõpeb(nimi,’Inc.’) |
startswith | $filter=algab(nimi,’a’) |
Dataverse päringufunktsioonid
Web API toetab tulemuste filtreerimiseks Dataverse päringufunktsioone. Lisateavet leiate teemast Web API päringufunktsioonide viide.
Järjestuse tulemused
Määrake üksuste tagastamise järjekord$orderby kasutades süsteemipäringu suvandit. Järelliite asc või desc **** abil saate määrata vastavalt tõusva või kahaneva järjekorra. Vaikeväärtus kuvatakse kasvavas järjestuses, kui järelliidet pole rakendatud. Järgmine näide näitab kasvava tulu ja kahaneva nime järgi tellitud kontode nime ja tulu atribuutide toomist.
Meetod | URI |
---|---|
Hangi | [Portal URI]/_api/accounts?$select=name,revenue&$orderby=name asc,revenue desc&$filter=revenue gt 90000 Näide:https://contoso.powerappsportals.com/_api/accounts?$select=name,revenue&$orderby=name asc,revenue desc&$filter=revenue gt 90000 |
Agregaat ja rühmitamise tulemused
Kasutades $apply, saate oma andmeid dünaamiliselt koondada ja rühmitada, nagu on näha järgmistest näidetest.
Stsenaariumid | Näide |
---|---|
Päringu kordumatute olekute loend | accounts?$apply=groupby((statuscode)) |
Eeldatava väärtuse agregaadi summa | opportunities?$apply=aggregate(eeldatav väärtus kogusummaga) |
Tehingu keskmine maht, võttes aluseks eeldatava väärtuse ja oleku | müügivõimalused?$apply=rühmita((olekukood),agregaat(prognoositud väärtus keskmise väärtusega) |
Olekul põhineva eeldatava väärtuse summa | müügivõimalused?$apply=rühmita((olekukood),agregaat(prognoositud väärtus kogusummaga)) |
Müügivõimaluse kogutulu konto nime järgi | opportunities?$apply=rühmita((vanemkontoid/nimi),agregaat(prognoositud väärtus kogusummaga)) |
Kontode esmased kontaktinimed ’WA’-s | kontod?$apply=filter(aadress1_osariik või piirkond, nt ’WA’)/rühmita((peamise kontakti id/täisnimi)) |
Viimase loodud kirje kuupäev ja kellaaeg | kontod?$apply=agregaat(loodud maksimaalsega kui lastCreate) |
Esimese loodud kirje kuupäev ja kellaaeg | kontod?$apply=agregaat(loodud minimaalsega „firstCreate”) |
Ridade arvu toomine
Kasutage suvandit süsteemipäring väärtusega tõene$count , et kaasata filtrikriteeriumidele vastavate olemite arv kuni 5,000-ni.
Meetod | URI |
---|---|
Hangi | [Portal URI/_api/accounts?$select=name&$filter=contains(name,'sample')&$count=true Näide:https://contoso.powerappsportals.com/_api/accounts?$select=name&$filter=contains(name,'sample')&$count=true |
Näidisvastus
{
"@odata.count": 10,
"value": [
{
"@odata.etag": "W/\"1066412\"",
"name": "Fourth Coffee (sample)",
"accountid": "d2e11ba8-92f6-eb11-94ef-000d3a5aa607"
},
{
"@odata.etag": "W/\"1066413\"",
"name": "Litware, Inc. (sample)",
"accountid": "d4e11ba8-92f6-eb11-94ef-000d3a5aa607"
},
{
"@odata.etag": "W/\"1066414\"",
"name": "Adventure Works (sample)",
"accountid": "d6e11ba8-92f6-eb11-94ef-000d3a5aa607"
}
]
}
Kui te ei soovi tagastada andmeid, välja arvatud loendus, võite taotleda $count mis tahes kogust et saada ainult väärtus.
Meetod | URI |
---|---|
Hangi | [Portal URI/_api/accounts/$count Näide:https://contoso.powerappsportals.com/_api/accounts/$count |
Näidisvastus
3
Veeruvõrdlus
Järgmine näide näitab, kuidas võrrelda veerge Web API abil:
Meetod | URI |
---|---|
GET | [Portal URI]/_api/contacts?$select=firstname&$filter=firstname eq lastname Näide:https://contoso.powerappsportals.com/_api/contacts?$select=firstname&$filter=firstname eq lastname |
Seostuvate tabelikirjete toomine päringuga
Kasutage navigeerimisatribuutides suvandit süsteemipäring$expand , et määrata, millised seotud olemite andmed tagastatakse.
Otsige seotud navigeerimisatribuuti
Päringuvaliku $expand kasutamisel peate otsinguatribuudina kasutama väärtust Microsoft.Dynamics.CRM.associatednavigationproperty.
Atribuudi Microsoft.Dynamics.CRM.associatednavigationproperty määramiseks saate veeru jaoks teha järgmise http GET-taotluse, kasutades järgmist nimekonveneerimist: _name_value.
Järgmises näites saame määrata tabeli Konto veeru Peamine kontakt seotud navigeerimisatribuudi, määrates veeru nime primarycontactid, vormindades päringus oleva nime: _primarycontactid_value.
Meetod | URI |
---|---|
GET | [Portal URI]/_api/accounts?$select=_primarycontactid_value Näidehttps://contoso.powerappsportals.com/_api/accounts?$select=_primarycontactid_value |
Näidisvastus
{
"value": [
{
"@odata.etag": "W/\"2465216\"",
"_primarycontactid_value@OData.Community.Display.V1.FormattedValue": "Yvonne McKay (sample)",
"_primarycontactid_value@Microsoft.Dynamics.CRM.associatednavigationproperty": "primarycontactid",
"_primarycontactid_value@Microsoft.Dynamics.CRM.lookuplogicalname": "contact",
"_primarycontactid_value": "417319b5-cd18-ed11-b83c-000d3af4d812",
"accountid": "2d7319b5-cd18-ed11-b83c-000d3af4d812"
}
]
}
Tagasisidest näete, et seostuv navigeerimise atribuut on primarycontactid. Seostatud navigeerimise atribuut võib olla otsinguveeru loogiline nimi või skeemi nimi, olenevalt sellest, kuidas tabel on loodud.
Lisateavet leiate teemast Andmete toomine otsingu atribuutide kohta.
Seostuvate tabelikirjete toomine, laiendades ühekordse väärtusega navigeerimise atribuute
Järgmine näide näitab, kuidas tuua kontakt kõigi kontokirjete jaoks. Seotud kontaktikirjete puhul toome ainult väärtused kontakti ID ja täisnimi.
Meetod | URI |
---|---|
GET | [Portal URI]/_api/accounts?$select=name&$expand=primarycontactid($select=contactid,fullname) Näide:https://contoso.powerappsportals.com/_api/accounts?$select=name&$expand=primarycontactid($select=contactid,fullname) |
Näidisvastus
{
"value": [
{
"@odata.etag": "W/\"1066412\"",
"name": "Fourth Coffee (sample)",
"accountid": "d2e11ba8-92f6-eb11-94ef-000d3a5aa607",
"primarycontactid": {
"contactid": "e6e11ba8-92f6-eb11-94ef-000d3a5aa607",
"fullname": "Yvonne McKay (sample)"
}
},
{
"@odata.etag": "W/\"1066413\"",
"name": "Litware, Inc. (sample)",
"accountid": "d4e11ba8-92f6-eb11-94ef-000d3a5aa607",
"primarycontactid": {
"contactid": "e8e11ba8-92f6-eb11-94ef-000d3a5aa607",
"fullname": "Susanna Stubberod (sample)"
}
}
]
}
Seostuvate tabelite toomine, laiendades kogumi väärtusega navigeerimise atribuute
Kui laiendate kogumi väärtusega navigeerimise parameetreid olemikomplektide seostuvate tabelite toomiseks, tagastatakse andmete korral ainult üks sügavustase. Vastasel juhul tagastab kogum tühja massiivi.
Meetod | URI |
---|---|
Hangi | [Portal URI]/_api/accounts?$top=5&$select=name&$expand=Account_Tasks($select=subject,scheduledstart) Näide:https://contoso.powerappsportals.com/_api/accounts?$top=5&$select=name&$expand=Account_Tasks($select=subject,scheduledstart) |
Seostuvate tabelite toomine, laiendades nii üksikväärtusega kui ka kogumi väärtusega navigeerimise atribuute
Järgmises näites kirjeldatakse, kuidas saate olemikomplektide seostuvaid olemeid laiendada, kasutades nii üksikuid kui ka kogumväärtusega navigeerimisa atribuute. Te peate määrama tabeli seose nime oma koodi süntaksis.
Meetod | URI |
---|---|
Hangi | [Portal URI]/_api/accounts?$top=5&$select=name&$expand=primarycontactid($select=contactid,fullname),Account_Tasks($select=subject,scheduledstart) Näide:https://contoso.powerappsportals.com/_api/accounts?$top=5&$select=name&$expand=primarycontactid($select=contactid,fullname),Account_Tasks($select=subject,scheduledstart) |
Järgmine etapp
Portaalide kirjutamis-, värskendamis- ja kustutamistoimingu veebi-API-d kasutades
Vt ka
Portaalide veebi API ülevaade Õpetus: Portaali veebi-API kasutamine Veeruõiguste konfigureerimine
Märkus
Kas saaksite meile dokumentatsiooniga seotud keele-eelistustest teada anda? Osalege lühikeses uuringus. (Uuring on ingliskeelne.)
Uuringus osalemine võtab umbes seitse minutit. Isikuandmeid ei koguta (privaatsusavaldus).
Tagasiside
https://aka.ms/ContentUserFeedback.
Varsti tulekul: 2024. aasta jooksul tühistame GitHubi probleemide funktsiooni sisutagasiside mehhanismina ja asendame selle uue tagasisidesüsteemiga. Lisateabe saamiseks vtEsita ja vaata tagasisidet