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äide
https://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).