Tietojen kysely portaalien verkko-ohjelmointirajapinnan avulla
Huomautus
Power Apps -portaaleja kutsutaan 12. lokakuuta 2022 alkaen nimellä Power Pages. Lisätietoja: Microsoft Power Pages on nyt yleisesti saatavilla (blogi)
Siirrämme ja yhdistämme Power Apps -portaalien dokumentaation pian Power Pagesin dokumentaatioon.
Voit käyttää käytettävissä olevia verkko-ohjelmointirajapinnan toimintoja portaaleissa. Verkko-ohjelmointirajapinnan toiminnot koostuvat HTTP-pyynnöistä ja -vastauksista. Tässä artikkelissa on esimerkki lukutoiminnoista, -menetelmistä, URI:sta ja malli-JSON:ista, jota voit käyttää HTTP-pyynnössä.
Edellytykset
Portaaliversion on oltava vähintään 9.4.1.x.
Ota taulukko ja kenttä käyttöön verkko-ohjelmointirajapinnan toiminnoissa. Lisätietoja: Verkko-ohjelmointirajapinnan sivustoasetukset
Portaalien Web API käyttää taulukon tietueita ja noudattaa taulukkoon liittyviä käyttöoikeuksia, jotka on annettu käyttäjille liittyvien WWW-roolien kautta. Varmista, että määrität oikeat taulukko-oikeudet. Lisätietoja: Verkkoroolien luominen
Huomautus
Kun viittaat Dataverse-taulukoihin käyttämällä portaalien verkkorajapintaa, käytä esimerkiksi EntitySetName-nimeä tilin taulukon käyttämiseen, koodisyntaksi käyttää tilien EntitySetName-nimeä tilit.
Kyselytietueet
Seuraava esimerkki tekee kyselyjä tilitietueista:
Toiminto | Method | URI |
---|---|---|
Nouda taulukkotietueet | HAE | [Portal URI]/_api/accounts Esimerkki: https://contoso.powerappsportals.com/_api/accounts |
Mallivastaus
{
"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"
}
]
}
Palauta kolmen ensimmäisen tilin nimiominaisuus $select- ja $top-järjestelmäkyselyasetuksilla:
Toiminto | Method | URI |
---|---|---|
Kolmen ensimmäisen entiteettitietueen noutaminen | HAE | [Portal URI]/_api/accounts?$select=name,revenue&$top=3 Esimerkki: https://contoso.powerappsportals.com/_api/accounts?$select=name,revenue&$top=3 |
Nouda tili tilitunnuksen avulla:
Toiminto | Method | URI |
---|---|---|
Tietueen tietyn ominaisuuden noutaminen | HAE | [Portal URI]/_api/accounts(e0e11ba8-92f6-eb11-94ef-000d3a5aa607)?$select=name Esimerkki: https://contoso.powerappsportals.com/_api/accounts(e0e11ba8-92f6-eb11-94ef-000d3a5aa607)?$select=name |
Mallivastaus
{
"@odata.etag": "W/\"1066414\"",
"name": "Adventure Works (sample)",
"accountid": "d6e11ba8-92f6-eb11-94ef-000d3a5aa607"
}
Järjestelmäkyselyasetusten käyttäminen
Kaikki entiteettijoukon URL-osoitteeseen liitetyt järjestelmäkyselyasetukset lisätään kyselymerkkijonojen syntaksin avulla. Ensimmäinen liitetään [?]-kohdan jälkeen, ja seuraavat kyselyasetukset erotetaan toisistaan [&]-merkillä. Kaikissa kyselyasetuksissa isot ja pienet kirjaimet tulkitaan eri merkeiksi seuraavan esimerkin mukaisesti:
Method | URI |
---|---|
HAE | [Portal URI]/_api/accounts?$select=name,revenue&$filter=revenue gt 90000&$top=3 Esimerkki: https://contoso.powerappsportals.com/_api/accounts?$select=name,revenue&$filter=revenue gt 90000&$top=3 |
Pyynnön tarkat ominaisuudet
Käyttämällä $select -järjestelmäkyselyä voidaan rajoittaa palautettuja ominaisuuksia seuraavan esimerkin mukaisesti:
Method | URI |
---|---|
HAE | [Portal URI]/_api/accounts?$select=name,revenue&$top=3 Esimerkki: https://contoso.powerappsportals.com/_api/accounts?$select=name,revenue&$top=3 |
Tärkeä
Tämä on suorituskyvyn paras käytäntö. Jos ominaisuuksia ei ole määritetty ja olet määrittänyt Webapi/<table name>/fields
-sivustoasetuksen arvoksi *
, kaikki ominaisuudet palautetaan toiminnolla $select
. Jos ominaisuuksia ei ole määritetty, palautetaan virhe.
Suodata tulokset
Käyttämällä $filter -järjestelmäkyselyä voidaan määrittää ehdot, joille rivit palautetaan.
Vakiosuodattimen operaattorit
Web-ohjelmointirajapinta tukee seuraavassa taulukossa lueteltuja OData-suodatinoperaattoreita:
Operator | Kuvaus | Esimerkiksi |
---|---|---|
Vertailuoperaattorit | ||
eq | Sama kuin | $filter=revenue eq 100000 |
ne | Eri kuin | $filter=revenue ne 100000 |
gt | Suurempi kuin | $filter=revenue gt 100000 |
ge | Suurempi tai yhtä suuri kuin | $filter=revenue ge 100000 |
lt | Pienempi kuin | $filter=revenue lt 100000 |
le | Pienempi tai yhtä suuri kuin | $filter=revenue le 100000 |
Loogiset operaattorit | ||
and | Looginen ja | $filter=revenue lt 100000 and revenue gt 2000 |
or | Looginen tai | $filter=contains(name,'(sample)') or contains(name,'test') |
not | Looginen negaatio | $filter=not contains(name,'sample') |
Operaattoreiden ryhmittely | ||
( ) | Tärkeysjärjestyksen ryhmittely | (contains(name,'sample') or contains(name,'test')) and revenue gt 5000 |
Tavalliset kyselyfunktiot
Web-ohjelmointirajapinta tukee seuraavia OData-merkkijonokyselyfunktioita:
Funktio | Esimerkiksi |
---|---|
sisältää | $filter=contains(name,'(sample)') |
päättyy | $filter=endswith(name,'Inc.') |
startswith | $filter=startswith(name,'a') |
Dataverse -kyselyfunktiot
Verkko-ohjelmointirajapinta Dataversen kyselyfunktioita tulosten suodattamista varten. Lisätietoja: Verkko-ohjelmistorajapinnan kyselyfunktion viite.
Tilauksen tulokset
Määritä nimikkeiden palautusjärjestys $orderby -järjestelmäkyselyn avulla. Käyttämällä jälkiliitettä asc tai desc voidaan määrittää nouseva tai laskeva järjestys. Oletusarvo on nouseva, jos jälkiliitettä ei käytetä. Seuraavassa esimerkissä noudetaan nousevan tuoton ja laskevan nimen mukaan tilattujen tilien nimi ja tuotto-ominaisuudet.
Method | URI |
---|---|
HAE | [Portal URI]/_api/accounts?$select=name,revenue&$orderby=name asc,revenue desc&$filter=revenue gt 90000 Esimerkki: https://contoso.powerappsportals.com/_api/accounts?$select=name,revenue&$orderby=name asc,revenue desc&$filter=revenue gt 90000 |
Tulosten koostaminen ja ryhmittely
$apply -muuttujan avulla voit koostaa ja ryhmitellä tietoja dynaamisesti seuraavien esimerkkien mukaisesti:
Skenaariot | Esimerkiksi |
---|---|
Kyselyn yksilöllisten tilojen luettelo | accounts?$apply=groupby((statuscode)) |
Arvioidun arvon kokonaissumma | opportunities?$apply=aggregate(estimatedvalue with sum as total) |
Kaupan keskimääräinen koko arvioidun arvon ja tilan perusteella | opportunities?$apply=groupby((statuscode),aggregate(estimatedvalue with average as averagevalue) |
Tilan perusteella arvioidun arvon summa | opportunities?$apply=groupby((statuscode),aggregate(estimatedvalue with sum as total)) |
Mahdollisuuden kokonaistuotto asiakkaan nimen mukaan | opportunities?$apply=groupby((parentaccountid/name),aggregate(estimatedvalue with sum as total)) |
WA-tilien ensisijaiset yhteyshenkilöiden nimet | accounts?$apply=filter(address1_stateorprovince eq 'WA')/groupby((primarycontactid/fullname)) |
Viimeisen luodun tietueen päivämäärä ja aika | accounts?$apply=aggregate(createdon with max as lastCreate) |
Ensimmäisen luodun tietueen päivämäärä ja aika | accounts?$apply=aggregate(createdon with min as firstCreate) |
Rivien määrän noutaminen
Käyttämällä $count -järjestelmäkyselyasetusta, jonka arvo on tosi, voidaan sisällyttää suodatinehtoja vastaava määrä entiteettejä, kuitenkin enintään 5 000.
Method | URI |
---|---|
HAE | [Portal URI/_api/accounts?$select=name&$filter=contains(name,'sample')&$count=true Esimerkki: https://contoso.powerappsportals.com/_api/accounts?$select=name&$filter=contains(name,'sample')&$count=true |
Mallivastaus
{
"@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"
}
]
}
Jos et halua palauttaa mitään tietoja lukuun ottamatta laskentaa, voit käyttää $count mihin tahansa kokoelmaan vain arvon saantia varten.
Method | URI |
---|---|
HAE | [Portal URI/_api/accounts/$count Esimerkki: https://contoso.powerappsportals.com/_api/accounts/$count |
Mallivastaus
3
Sarakkeiden vertailu
Seuraavassa esimerkissä näytetään, miten sarakkeita verrataan Web API:n avulla:
Method | URI |
---|---|
GET | [Portal URI]/_api/contacts?$select=firstname&$filter=firstname eq lastname Esimerkki: https://contoso.powerappsportals.com/_api/contacts?$select=firstname&$filter=firstname eq lastname |
Liittyvien taulukkotietueiden noutaminen kyselyn avulla
Siirtymisominaisuuksien $expand -järjestelmäkyselyasetuksen avulla voidaan määrittää, mitä tietoja liittyvien entiteeteistä palautetaan.
Liitetyn siirtymisenominaisuuden hakeminen
Sinun täytyy käyttää hakumääritteenä Microsoft.Dynamics.CRM.associatednavigationproperty-ominaisuutta, kun käytät kyselyvaihtoehtoa $expand.
Voit tarkastaa määritteen Microsoft.Dynamics.CRM.associatednavigationproperty-ominaisuuden tekemällä sarakkeelle seuraavan http GET -pyynnön käyttämällä seuraavaa nimeämiskäytäntöä: _nimi_value.
Seuraavassa esimerkissä voimme tarkistaa Account-taulukon Primary Contact -sarakkeen liitetyn siirtymisominaisuuden määrittämällä sarakkeen nimen primarycontactid ja muotoilemalla nimen pyyntöön muodossa: _primarycontactid_value.
Method | URI |
---|---|
GET | [Portal URI]/_api/accounts?$select=_primarycontactid_value Esimerkiksi https://contoso.powerappsportals.com/_api/accounts?$select=_primarycontactid_value |
Mallivastaus
{
"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"
}
]
}
Näemme vastauksesta, että liitetty siirtymisominaisuus on primarycontactid. Liitetty siirtymisominaisuus voi olla hakusarakkeen looginen nimi tai rakenteen nimi riippuen siitä, miten taulukko luotiin.
Lisätietoja on kohdassa Hakuominaisuuksien tietojen noutaminen.
Hae liittyvät taulutietueet laajentamalla yksiarvoisia siirtymisominaisuuksia
Seuraavassa esimerkissä näytetään, miten kaikkien asiakastietueiden yhteyshenkilö noudetaan. Kun on kyse toisiinsa liittyvistä yhteystietotietueista, haemme vain yhteyshenkilön ja koko nimen.
Method | URI |
---|---|
GET | [Portal URI]/_api/accounts?$select=name&$expand=primarycontactid($select=contactid,fullname) Esimerkki: https://contoso.powerappsportals.com/_api/accounts?$select=name&$expand=primarycontactid($select=contactid,fullname) |
Mallivastaus
{
"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)"
}
}
]
}
Hae liittyvät taulukot laajentamalla kokoelma-arvoisia siirtymisominaisuuksia
Jos laajennat kokoelma-arvoisia siirtymisparametreja ja haet entiteettijoukkojen liittyvät taulukot, vain yksi syvyystaso palautetaan, jos tietoja on. Muussa tapauksessa kokoelma palauttaa tyhjän matriisin.
Method | URI |
---|---|
HAE | [Portal URI]/_api/accounts?$top=5&$select=name&$expand=Account_Tasks($select=subject,scheduledstart) Esimerkki: https://contoso.powerappsportals.com/_api/accounts?$top=5&$select=name&$expand=Account_Tasks($select=subject,scheduledstart) |
Hae liittyvät taulukot laajentamalla sekä yksittäisarvoisia ja kokoelma-arvoisia siirtymisominaisuuksia
Seuraavassa esimerkissä näytetään, miten voit laajentaa entiteettijoukkojen liittyviä entiteettejä käyttämällä sekä yksi- että kokoelma-arvoisia siirtymisominaisuuksia. Sinun täytyy määrittää taulukon suhteen nimi koodisi syntaksissa.
Method | URI |
---|---|
HAE | [Portal URI]/_api/accounts?$top=5&$select=name&$expand=primarycontactid($select=contactid,fullname),Account_Tasks($select=subject,scheduledstart) Esimerkki: https://contoso.powerappsportals.com/_api/accounts?$top=5&$select=name&$expand=primarycontactid($select=contactid,fullname),Account_Tasks($select=subject,scheduledstart) |
Seuraava vaihe
Portaalien verkko-ohjelmointirajapintaa käyttävät kirjoitus-, päivitys- ja poistotoiminnot
Katso myös
Portaalien verkko-ohjelmointirajapinnan yleiskuvaus
Opasohjelma: portaalin verkko-ohjelmointirajapinnan käyttäminen
Määritä sarakeoikeudet
Huomautus
Voitko kertoa meille dokumentaatiota koskevan kielimäärityksesi? Vastaa lyhyeen kyselyyn. (Huomaa, että tämä kysely on englanninkielinen.)
Kyselyyn vastaaminen kestää noin seitsemän minuuttia. Henkilökohtaisia tietoja ei kerätä (tietosuojatiedot).