Podaci upita pomoću web-API-ja portala (pretpregled)
Dostupne operacije web-API-ja možete koristiti na portalima. Operacije API-ja na webu sastoje se od HTTP zahtjeva i odgovora. Ovaj članak pruža ogledne operacije čitanja, metode, URI i ogledni JSON koji možete koristiti u HTTP zahtjevu.
Važno
- To je značajka pretpregleda.
- Značajke pretpregleda nisu namijenjene u proizvodne svrhe i mogu imati ograničene funkcije. Te su značajke dostupne prije službenog izdavanja da bi se klijentima omogućio prijevremeni pristup i slanje povratnih informacija.
- Nakon što je ova značajka omogućena, tablice i stupci konfigurirani u postavkama web-mjesta za web-API bit će dostupni za operacije čitanja.
Preduvjeti
Omogućite tablicu i polje za operacije web-API-ja. Dodatne informacije: Postavke web-mjesta za web-API
Web-API portala pristupa zapisima tablice i slijedi dozvole tablice dane korisnicima putem pridruženih web-uloga. Provjerite jeste li konfigurirali ispravne dozvole za tablicu. Dodatne informacije: Stvaranje web-uloga
Postavka web-mjesta za operacije čitanja web-API-ja
Morate konfigurirati postavku web-mjesta WebAPI/enableReadOperationPreview i postaviti njegovu vrijednost na True da biste omogućili operacije čitanja pomoću web-API-ja portala.
Važno
Ova postavka web-mjesta potrebna je samo tijekom razdoblja pretpregleda.
Zapisi upita
Sljedeći primjer šalje upite zapisima računa:
| Operacija | Metoda | URI |
|---|---|---|
| Dohvaćanje zapisa tablice | DOBITI | [Portal URI]/_api/accountsPrimjer: https://contoso.powerappsportals.com/_api/accounts |
Ogledni odgovor
{
"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"
}
]
}
Koristite $select i $top mogućnosti upita sustava da biste vratili svojstvo naziva za prva tri računa:
| Operacija | Metoda | URI |
|---|---|---|
| Dohvaćanje prva tri zapisa entiteta | DOBITI | [Portal URI]/_api/accounts?$select=name,revenue&$top=3Primjer:https://contoso.powerappsportals.com/_api/accounts?$select=name,revenue&$top=3 |
Dohvati račun pomoću ID-a računa:
| Operacija | Metoda | URI |
|---|---|---|
| Dohvaćanje određenog svojstva zapisa | DOBITI | [Portal URI]/_api/accounts(e0e11ba8-92f6-eb11-94ef-000d3a5aa607)?$select=namePrimjer:https://contoso.powerappsportals.com/_api/accounts(e0e11ba8-92f6-eb11-94ef-000d3a5aa607)?$select=name |
Ogledni odgovor
{
"@odata.etag": "W/\"1066414\"",
"name": "Adventure Works (sample)",
"accountid": "d6e11ba8-92f6-eb11-94ef-000d3a5aa607"
}
Primjena mogućnosti upita sustava
Svaka od mogućnosti upita sustava koju dodate URL-u skupa entiteta dodaje se pomoću sintakse za nizove upita. Prva se dodaje iza [·] ?, a sljedeće mogućnosti upita odvajaju se pomoću [&] programa. Sve mogućnosti upita osjetljive su na velika i mala slova kao što je prikazano u sljedećem primjeru:
| Metoda | URI |
|---|---|
| DOBITI | [Portal URI]/_api/accounts?$select=name,revenue&$filter=revenue gt 90000&$top=3Primjer:https://contoso.powerappsportals.com/_api/accounts?$select=name,revenue&$filter=revenue gt 90000&$top=3 |
Zahtjev za određenim svojstvima
Pomoću mogućnosti upita sustava $select ograničite vraćena svojstva kao što je prikazano u sljedećem primjeru:
| Metoda | URI |
|---|---|
| DOBITI | [Portal URI]/_api/accounts?$select=name,revenue&$top=3Primjer:https://contoso.powerappsportals.com/_api/accounts?$select=name,revenue&$top=3 |
Važno
Ovo je najbolja praksa. Ako svojstva nisu navedena i konfigurirali ste Webapi/<table name>/fields vrijednost postavki web-mjesta na *, sva svojstva vratit će se pomoću programa $select. Ako nisu navedena svojstva, vratit će se pogreška.
Rezultati filtriranja
Pomoću mogućnosti upita sustava $filter postavite kriterije za koje će se reci vratiti.
Standardni operatori filtra
Web-API podržava standardne operatore OData filtara navedene u sljedećoj tablici:
| Operater | Opis | Primjer |
|---|---|---|
| Operatori usporedbe | ||
| eq | Jednako | $filter=100000 prihoda |
| ne | Nije jednako | $filter=prihod ne 100000 |
| gt | Veće od | 100000 $filter=prihod gt |
| Ge | Veće od ili jednako | $filter=100000 prihoda |
| lt | Manje od | $filter=prihod lt 100000 |
| Le | Manje od ili jednako | $filter=100000 prihoda |
| Logički operatori | ||
| I | Logičko i | $filter=prihod lt 100000 i prihod gt 2000 |
| or | Logički ili | $filter=sadrži(naziv'(uzorak)' ili sadrži (naziv', 'test') |
| ne | Logička negacija | $filter=ne sadrži(naziv,'uzorak') |
| Operatori grupiranja | ||
| ( ) | Grupiranje prvenstva | (sadrži(naziv,'uzorak') ili sadrži (naziv,'test')) i prihod gt 5000 |
Standardne funkcije upita
Web-API podržava ove standardne funkcije niza OData:
| Funkcija | Primjer |
|---|---|
| sadrži | $filter=sadrži(naziv'(uzorak)') |
| završava sa | $filter=endswith(naziv'Inc.' |
| počinjes | $filter=startswith(ime;a') |
Rezultati narudžbe
Odredite redoslijed vraćanja stavki pomoću mogućnosti upita sustava $orderby. Koristite asc ili desc sufiks za određivanje uzlaznog ili silaznog redoslijeda. Zadano je uzlazno ako sufiks nije primijenjen. Sljedeći primjer prikazuje dohvaćanje naziva i svojstava prihoda računa naručenih uzlaznim prihodom i silaznim nazivom.
| Metoda | URI |
|---|---|
| DOBITI | [Portal URI]/_api/accounts?$select=name,revenue&$orderby=name asc,revenue desc&$filter=revenue gt 90000Primjer:https://contoso.powerappsportals.com/_api/accounts?$select=name,revenue&$orderby=name asc,revenue desc&$filter=revenue gt 90000 |
Agregacija i grupiranje rezultata
Pomoću $apply možete dinamički agregirati i grupirati podatke kao što se vidi u sljedećim primjerima:
| Scenariji | Primjer |
|---|---|
| Popis jedinstvenih stanja u upitu | računi?$apply=groupby((statuscode)) |
| Zbirni zbroj procijenjene vrijednosti | prilike?$apply=aggregate(procijenjena vrijednost sa zbrojem kao ukupnim zbrojem) |
| Prosječna veličina posla na temelju procijenjene vrijednosti i statusa | prilike?$apply=groupby((statuscode),aggregate(procijenjena vrijednost s prosjekom kao prosječna vrijednost) |
| Zbroj procijenjene vrijednosti na temelju statusa | prilike?$apply=groupby((statuscode),aggregate(procijenjena vrijednost sa zbrojem kao ukupnim)) |
| Ukupan prihod od prilike po nazivu računa | prilike?$apply=groupby((parentaccountid/name),aggregate(procijenjena vrijednost sa zbrojem kao ukupnim)) |
| Primarna imena kontakata za poslovne subjekte u sustavu 'WA' | računi?$apply=filter(adresa1 _ stateorprovince eq 'WA')/groupby((primarnikontatid/puno ime)) |
| Datum i vrijeme zadnjeg stvaranja zapisa | računi?$apply=aggregate(stvoreno s najviše kao lastCreate) |
| Datum i vrijeme prvog stvaranja zapisa | poslovni subjekti?$apply=aggregate(stvoreno u obliku min kao prvokreatno) |
Dohvaćanje broja redaka
Pomoću mogućnosti upita sustava $count s vrijednošću true uključite broj entiteta koji odgovaraju kriterijima filtriranja do 5.000.
| Metoda | URI |
|---|---|
| DOBITI | [Portal URI/_api/accounts?$select=name&$filter=contains(name,'sample')&$count=truePrimjer:https://contoso.powerappsportals.com/_api/accounts?$select=name&$filter=contains(name,'sample')&$count=true |
Ogledni odgovor
{
"@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"
}
]
}
Ako ne želite vratiti podatke osim broja, možete primijeniti $count na bilo koju zbirku da biste dobili samo vrijednost.
| Metoda | URI |
|---|---|
| DOBITI | [Portal URI/_api/accounts/$countPrimjer:https://contoso.powerappsportals.com/_api/accounts/$count |
Ogledni odgovor
3
Usporedba stupaca
Sljedeći primjer pokazuje kako usporediti stupce pomoću web-API-ja:
| Metoda | URI |
|---|---|
| GET | [Portal URI]/_api/contacts?$select=firstname&$filter=firstname eq lastnamePrimjer:https://contoso.powerappsportals.com/_api/contacts?$select=firstname&$filter=firstname eq lastname |
Dohvaćanje povezanih zapisa tablice pomoću upita
Pomoću mogućnosti upita sustava $expand u navigacijskim svojstvima kontrolirajte koji se podaci iz povezanih entiteta vraćaju.
Dohvaćanje povezanih zapisa tablice proširivanjem navigacijskih svojstava s jednom vrijednošću
Sljedeći primjer prikazuje kako dohvatiti kontakt za sve zapise o poslovnim subjektima. Za povezane zapise o kontaktima dohvaćamo samo kontaktid i puno ime.
| Metoda | URI |
|---|---|
| GET | [Portal URI]/_api/accounts?$select=name&$expand=primarycontactid($select=contactid,fullname)Primjer:https://contoso.powerappsportals.com/_api/accounts?$select=name&$expand=primarycontactid($select=contactid,fullname) |
Ogledni odgovor
{
"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)"
}
}
]
}
Dohvaćanje povezanih tablica proširivanjem navigacijskih svojstava vrijednih zbirke
Ako proširite navigacijske parametre s vrijednošću zbirke da biste dohvatili povezane tablice za skupove entiteta, vraća se samo jedna razina dubine ako postoje podaci. U suprotnom, zbirka će vratiti prazno polje.
| Metoda | URI |
|---|---|
| DOBITI | [Portal URI]/_api/accounts?$top=5&$select=name&$expand=Account_Tasks($select=subject,scheduledstart)Primjer:https://contoso.powerappsportals.com/_api/accounts?$top=5&$select=name&$expand=Account_Tasks($select=subject,scheduledstart) |
Dohvaćanje povezanih tablica proširivanjem navigacijskih svojstava s jednom vrijednošću i svojstvima navigacije s vrijednošću zbirke
Sljedeći primjer pokazuje kako možete proširiti povezane entitete za skupove entiteta koristeći jednostruka navigacijska svojstva i navigacijska svojstva s vrijednošću zbirke.
| Metoda | URI |
|---|---|
| DOBITI | [Portal URI]/_api/accounts?$top=5&$select=name&$expand=primarycontactid($select=contactid,fullname),Account_Tasks($select=subject,scheduledstart)Primjer:https://contoso.powerappsportals.com/_api/accounts?$top=5&$select=name&$expand=primarycontactid($select=contactid,fullname),Account_Tasks($select=subject,scheduledstart) |
Sljedeći korak
Portali pišu, ažuriraju i brišu operacije pomoću web-API-ja
Pogledajte
Pregled Web API-ja za portale Praktični vodič: Korištenje web-API-ja portala