Partekatu honen bidez:


Kontsultatu datuak atarien Web-APIa erabiliz

Erabil dezakezu eskuragarri dagoena Web API eragiketak hemen Power Pages. Web APIaren eragiketak HTTP eskaerek eta erantzunek osatzen dute. Artikulu honetan HTTP eskaeran lagundu ditzakezun laginen eragiketak, metodoak, URI eta JSON lagina erakusten dira.

Aurrebaldintzak

  • Zure webgunearen bertsioak izan behar du 9.4.1.x edo handiagoa.

  • Gaitu taula eta eremua Web API eragiketetarako. Informazio gehiago: Web APIaren gune-ezarpenak

  • Atarietako Web APIak taula-erregistroak atzitzen ditu eta lotutako web-rolen bidez erabiltzaileei emandako taula-baimenei jarraitzen die. Ziurtatu taularen baimen egokiak konfiguratzen dituzula. Informazio gehiago: Sortu web-rolak

Oharra

Dataverse taulak atarietako Web APIa erabiliz aipatzean, EntitySetName erabili behar duzu, adibidez, kontua taula atzitzeko, kodearen sintaxiak kontuak atalaren EntitySetName-a erabiliko du.

Kontsultaren erregistroak

Adibide honek kontu-erregistroak kontsultatzen ditu:

Eragiketa Metodoa URI
Berreskuratu taulako erregistroak Lortu [Portal URI]/_api/accounts

Adibidea:
https://contoso.powerappsportals.com/_api/accounts

Adibidearen erantzuna

{
"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"
    }
]
}

Erabili $select eta $top sistemaren kontsulta aukerak lehen hiru kontuetarako izenaren propietatea itzultzeko:

Eragiketa Metodoa URI
Berreskuratu lehen hiru entitate-erregistroak Lortu [Portal URI]/_api/accounts?$select=name,revenue&$top=3

Adibidez:
https://contoso.powerappsportals.com/_api/accounts?$select=name,revenue&$top=3

Berreskuratu kontua kontuaren IDa erabiliz:

Eragiketa Metodoa URI
Berreskuratu erregistro baterako propietate zehatzak Lortu [Portal URI]/_api/accounts(e0e11ba8-92f6-eb11-94ef-000d3a5aa607)?$select=name

Adibidez:
https://contoso.powerappsportals.com/_api/accounts(e0e11ba8-92f6-eb11-94ef-000d3a5aa607)?$select=name

Adibidearen erantzuna

{
    "@odata.etag": "W/\"1066414\"",
    "name": "Adventure Works (sample)",
    "accountid": "d6e11ba8-92f6-eb11-94ef-000d3a5aa607"
}

Aplikatu sistemaren kontsulta-aukerak

Entitate-multzoaren URLari eransten dituzun sistema kontsulta-aukeretako bakoitza kontsulta-kateen sintaxia erabiliz gehitzen da. Lehenengoa [?] ondoren erantsiko da eta kontsultarako hurrengo aukerak [&]. Kontsulta-aukera guztiek maiuskulak eta minuskulak bereizten dituzte adibide honetan erakusten den bezala:

Metodoa URI
Lortu [Portal URI]/_api/accounts?$select=name,revenue&$filter=revenue gt 90000&$top=3

Adibidez:
https://contoso.powerappsportals.com/_api/accounts?$select=name,revenue&$filter=revenue gt 90000&$top=3

Eskaeraren propietate zehatzak

Erabili $select sistemaren kontsulta-aukera itzultzen diren propietateak mugatzeko hurrengo adibidean erakusten den moduan:

Metodoa URI
Lortu [Portal URI]/_api/accounts?$select=name,revenue&$top=3

Adibidez:
https://contoso.powerappsportals.com/_api/accounts?$select=name,revenue&$top=3

Garrantzitsua da

Errendimenduaren jardunbide egokiak dira. Propietateak zehazten ez badira eta konfiguratu baduzu Webapi/<table name>/fields gunearen ezarpenaren balioa *, orduan propietate guztiak erabiliz itzuliko dira $select. Ez bada propietaterik zehazten, errore bat itzuliko da.

Iragazi emaitzak

Erabili $filter sistemaren kontsulta aukera zein errenkadak itzuliko diren irizpideak ezartzeko.

Iragazki-eragiketa estandarrak

Web APIak taula honetan zerrendatutako OData iragazkien operadore estandarrak onartzen ditu:

Eragilea Deskribapenak Adibidez
Konparazio-eragileak
eq Berdina $filter=revenue eq 100000
ne Ez da berdina $filter=revenue ne 100000
gt Hau baino handiagoa $filter=revenue gt 100000
ge Honen berdina edo handiagoa $filter=revenue ge 100000
lt Hau baino txikiagoa $filter=revenue lt 100000
le Honen berdina edo txikiagoa $filter=revenue le 100000
Eragile logikoak
ETA Logikoa eta $filter=irabazia lt 100000 eta irabazia gt 2000
or Logikoa edo $filter=barne hartzen du(izena,'(adibidea)') edo barne hartzen du(izena,'test')
not Ezeztapen logikoa $filter=ez du barne hartzen(izena,'adibidea')
Taldekatze eragileak
( ) Lehentasuna taldekatzea (barne hartzen du(izena,'adibidea') edo barne hartzen du(izena,'test')) eta irabazia gt 5000

Kontsulta-funtzio estandarrak

Web APIak OData kateen kontsulta funtzio estandar hauek onartzen ditu:

Funtzioa Adibidez
contains $filter=barne hartzen du(izena,'(adibidea)')
endswith $filter=endswith(izena,'Inc.')
horrela hasten da $filter=startswith(izena,'a')

Dataverse kontsulta funtzioak

Web APIak onartzen du Dataverse kontsulta funtzioak emaitzak iragazteko. Informazio gehiagorako, ikusi Web APIaren kontsulta-funtzioaren erreferentzia.

Eskaeraren emaitzak

Zehaztu zein ordenatan itzultzen diren elementuak erabiliz $orderby sistema kontsultatzeko aukera. Erabili asc edo desk hurrenez hurren, goranzko edo beheranzko ordena zehazteko atzizkia. Lehenetsia gorakorra da atzizkia aplikatzen ez bada. Ondorengo adibidean goranzko diru-sarreren eta beheranzko izenaren arabera ordenatutako kontuen izena eta diru-sarreren propietateak berreskuratzea erakusten da.

Metodoa URI
Lortu [Portal URI]/_api/accounts?$select=name,revenue&$orderby=name asc,revenue desc&$filter=revenue gt 90000

Adibidez:
https://contoso.powerappsportals.com/_api/accounts?$select=name,revenue&$orderby=name asc,revenue desc&$filter=revenue gt 90000

Emaitzak batu eta taldekatzea

Erabiliz $apply zure datuak dinamikoki batu eta taldekatu ditzakezu, adibide hauetan ikusten den moduan:

Inguruneak Adibidez
Kontsultako egoera esklusiboen zerrenda kontuak?$apply=groupby((statuscode))
aurreikusitako kostuaren balioa agregatuaren batura aukerak?$apply=konbinatu(estimatedvalue baturarekin, guztizko gisa)
Kontratuaren batez besteko tamaina estimatutako balioaren eta egoeraren arabera aukerak?$apply=groupby((statuscode),konbinatu(estimatedvalue batez bestekoarekin, averagevalue gisa)
Egoeraren arabera estimatutako balioaren batura aukerak?$aplikatu=groupby((statuscode),konbinatu(estimatedvalue baturarekin, guztizko gisa))
Aukeren diru-sarrerak guztira kontuaren izenaren arabera aukerak?$apply=groupby((parentaccountid/izena),konbinatu(estimatedvalue baturarekin, guztizko gisa))
"WA"-ko kontuetarako lehen kontaktuen izenak kontuak?$aplikatu=iragazi(address1_stateorprovince eq 'WA')/groupby((primarycontactid/fullname))
Azken sorreraren erregistroaren data eta ordua kontuak?$apply=konbinatu(createdon with max as lastCreate)
Lehen sorreraren erregistroaren data eta ordua kontuak?$aplikatu=konbinatu(createdon with min as firstCreate)

Berreskuratu errenkaden zenbaketa

Erabili $count sistemaren kontsulta-aukera egiazko balioa duena, iragazki-irizpideekin bat datozen entitateen zenbaketa bat sartzeko 5.000 arte.

Metodoa URI
Lortu [Portal URI/_api/accounts?$select=name&$filter=contains(name,'sample')&$count=true

Adibidez:
https://contoso.powerappsportals.com/_api/accounts?$select=name&$filter=contains(name,'sample')&$count=true

Adibidearen erantzuna

{
"@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"
    }
]
}

Zenbaketa izan ezik daturik itzuli nahi ez baduzu, eskaera egin dezakezu $count edozein bildumara balioa besterik ez izateko.

Metodoa URI
Lortu [Portal URI/_api/accounts/$count

Adibidez:
https://contoso.powerappsportals.com/_api/accounts/$count

Adibidearen erantzuna

3

Zutabeen alderaketa

Ondorengo adibide honek Web APIa erabiliz zutabeak nola alderatu erakusten du:

Metodoa URI
GET [Portal URI]/_api/contacts?$select=firstname&$filter=firstname eq lastname

Adibidez:
https://contoso.powerappsportals.com/_api/contacts?$select=firstname&$filter=firstname eq lastname

Erabili $expand sistemaren kontsulta-aukera nabigazio-propietateetan erlazionatutako entitateetatik zein datu itzultzen diren kontrolatzeko.

Bilatu erlazionatutako nabigazioaren propietatea

Erabili beharko duzu Microsoft.Dynamics.CRM.associatednavigationproperty bilaketa-atributu gisa erabiltzean $expand kontsulta aukera.

Zehazteko Microsoft.Dynamics.CRM.associatednavigationproperty atributu baten, zutaberako http GET eskaera hau egin dezakezu izendapen-konbentzio hau erabiliz: _izena_balioa.

Hurrengo adibidean, nabigazio-propietate erlazionatutakoa zehaztu dezakegu Lehen kontaktua zutabea Kontua taula zutabearen izena zehaztuz lehen kontaktua eskaeran izena formateatuz: _primarycontactid_value.

Metodoa URI
GET [Portal URI]/_api/accounts?$select=_primarycontactid_value

Adibidea
https://contoso.powerappsportals.com/_api/accounts?$select=_primarycontactid_value

Adibidearen erantzuna

{
"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"
    }
]
}

Erantzunaren arabera ikusten dugu lotutako nabigazio-propietatea dela primarycontactid. Lotutako nabigazio-propietatea bilaketa-zutabearena izan daiteke izen logikoa edo eskema izena taula nola sortu den arabera.

Informazio gehiagorako, ikusi Berreskuratu bilaketa-propietateei buruzko datuak.

Hurrengo adibidean kontaktua nola berreskuratu erakusten da kontuko erregistro guztietarako. Erlazionatutako kontaktuen erregistroetarako, soilik berreskuratzen ari gara contactid eta fullname.

Metodoa URI
GET [Portal URI]/_api/accounts?$select=name&$expand=primarycontactid($select=contactid,fullname)

Adibidez:
https://contoso.powerappsportals.com/_api/accounts?$select=name&$expand=primarycontactid($select=contactid,fullname)

Adibidearen erantzuna

{
"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)"
        }
    }
]
}

Bildumak balio duten nabigazio-parametroak zabaltzen badituzu entitate-multzoetarako erlazionatutako taulak berreskuratzeko, sakontasun-maila bakarra itzuliko da datuak badaude. Bestela, bildumak array huts bat itzuliko du.

Metodoa URI
Lortu [Portal URI]/_api/accounts?$top=5&$select=name&$expand=Account_Tasks($select=subject,scheduledstart)

Adibidez:
https://contoso.powerappsportals.com/_api/accounts?$top=5&$select=name&$expand=Account_Tasks($select=subject,scheduledstart)

Ondorengo adibidean entitate-multzoetarako erlazionatutako entitateak nola zabal ditzakezun erakusten du nabigazio-propietate bakarreko nahiz bildumako balioak erabiliz. Zehaztu beharko duzu taula-erlazioaren izena zure kodearen sintaxian.

Metodoa URI
Lortu [Portal URI]/_api/accounts?$top=5&$select=name&$expand=primarycontactid($select=contactid,fullname),Account_Tasks($select=subject,scheduledstart)

Adibidez:
https://contoso.powerappsportals.com/_api/accounts?$top=5&$select=name&$expand=primarycontactid($select=contactid,fullname),Account_Tasks($select=subject,scheduledstart)

Hurrengo urratsa

Atariek idatzi, eguneratu eta ezabatu egiten dituzte eragiketak Web API erabilita

Ikusi ere