Oversikt over nett-API for portaler

Nett-API-en for portaler gir en omfattende brukeropplevelse på Power Pages-nettsteder. Du kan bruke nett-API-en til å utføre operasjoner for å opprette, lese, oppdatere og slette operasjoner på tvers av Microsoft Dataverse-tabeller fra nettstedssidene. Du kan for eksempel opprette en ny konto eller oppdatere en kontakt uten å bruke et skjema eller et skjema med flere trinn ved hjelp av nett-API-en for portaler.

Web-API-en bruker /_api ruten (for eksempel https://yoursite.powerappsportals.com/_api/accounts) og følger et RESTful-mønster som ligner på Dataverse Web API-en.

Viktig

  • Portal-Web-API-en er bygd for å opprette en rikere brukeropplevelse på portalsider. Den er ikke optimalisert for tredjepartstjenester eller programintegrering. Bruk av nett-API-en for portaler til å integrere med andre Power Pages områder støttes ikke.
  • Operasjoner for web-API for portaler er begrenset til tabeller som er relatert til data, for eksempel forretningsforbindelser, kontakter eller egendefinerte tabeller. Konfigurering av tabellmetadata eller portalkonfigurasjonstabelldata – for eksempel konfigurasjon av portaltabeller som adx_contentsnippet, adx_entityform eller adx_entitylist – støttes ikke ved hjelp av nett-API-en for portalene. Hvis du vil ha en fullstendig liste, kan du se konfigurasjonstabeller som ikke støttes senere i denne artikkelen.
  • Web-APIen for portaler drar nytte av hurtigbufring på serversiden, slik at etterfølgende kall til web-APIen går raskere enn de første kallene. Tømming av hurtigbufferen på portalserversiden vil midlertidig forårsake redusert ytelse.
  • Web-API-operasjoner for portaler krever en Power Pages-lisens. Web-API-kall utført av anonyme brukere teller for eksempel mot den anonyme brukerkapasiteten. Web-API-kall som utføres av godkjente brukere (interne eller eksterne), telles ikke med i sidevisninger, men krever gjeldende godkjent brukerkapasitetslisenser. Hvis du vil ha mer informasjon, kan du se Power Pages vanlige spørsmål om lisensiering.
  • Å kalle opp handlinger og funksjoner ved hjelp av nett-API-en for portaler støttes ikke.

Nett-API-operasjoner

Portal-Web-API-en har et delsett av funksjoner for Dataverse-operasjoner som du kan utføre ved hjelp av Dataverse-API-en. API-formatet er så likt som mulig for å redusere læringskurven.

Merk

Web API-operasjoner skiller mellom store og små bokstaver.

Nett-API-operasjoner som er tilgjengelige i Power Pages

Nettstedsinnstillinger for Web-API-en

Viktig

Støtte for jokertegnverdi (*) i Webapi/<table-name>/fields områdeinnstillingen er foreldet.

Bytt ut * med en kommaseparert liste over kolonnene som kreves for nettstedet ditt. Power Pages web-API-forespørsler for tabeller som er konfigurert med * mislykkes, til du konfigurerer eksplisitte kolonnenavn.

Hvis du vil aktivere nett-API-en for portaler for nettstedet, konfigurerer du nettstedsinnstillingene for hver tabell du vil vise. Du kan definere kolonnene som er tilgjengelige for web-API-en, ved å liste dem opp i en nettstedsinnstilling, ved hjelp av en Dataverse-systemvisning eller ved å kombinere begge metodene.

Merk

Bruk det logiske tabellnavnet for disse innstillingene (f.eks. forretningsforbindelse).

Navn på nettstedinnstilling Bekrivelse
Webapi/<table-name>/enabled Aktiverer eller deaktiverer Web-API-en for <tabellnavn>.
Standard:False
Gyldige verdier:True, False
Webapi/<table-name>/fields Definerer en kommadelt liste over kolonne logiske navn som er tilgjengelige via web-API-en. Eksempel: name,accountnumber,telephone1. Denne innstillingen kreves med mindre Webapi/<table-name>/UseFieldsFromView er satt til True, og den konfigurerte systemvisningen inneholder minst én kvalifisert kolonne. Jokertegnverdien (*) er avskrevet.
Webapi/<table-name>/UseFieldsFromView Når den er satt til True, blir kolonner fra en Dataverse-systemvisning kalt Power Pages web-API-kolonner tilgjengelige via web-API-en. Standard:False. Gyldige verdier:True, False. Hvis Webapi/<table-name>/fields også er konfigurert, kombineres kolonner fra begge kildene.
Webapi/error/innererror Aktiverer eller deaktiverer InnerError.
Standard:False
Gyldige verdier:True, False

Hvis du for eksempel vil vise web-API-en for Sak-tabellen der autentiserte brukere kan opprette, oppdatere og slette poster for denne enheten, bruker du nettstedsinnstillingene som vises i tabellen nedenfor.

Navn på nettstedinnstilling Verdi for nettstedsinnstilling
Webapi/incident/enabled sann
Webapi/incident/fields attr1, attr2, attr3

Konfigurer web-API-kolonner ved hjelp av en systemvisning

Ved hjelp av en systemvisning kan utviklere administrere kolonnene som er tilgjengelige via portalens nett-API uten å opprettholde en kommadelt liste i en nettstedsinnstilling.

  1. Åpne dataarbeidsområdet i Power Pages designstudio.
  2. Velg tabellen, velg Visninger-fanen , og opprett eller rediger deretter en offentlig systemvisning.
  3. Gi visningen navnet Power Pages Web API Columns.
  4. Legg til kolonnene som nettstedet trenger i visningen, og lagre og publiser deretter visningen.
  5. Opprett Webapi/<table-name>/UseFieldsFromView-nettstedsinnstillingen for nettstedet i portalbehandlingsappen, og angi verdien til True.
  6. Bekreft at Webapi/<table-name>/enabled er satt til True.

Merk

  • Bare kolonner fra primærtabellen som vises i visningen, inkluderes. Kolonner fra relaterte tabeller er ikke inkludert. Kolonner som bare brukes til filtrering eller sortering, inkluderes ikke med mindre de også vises i visningen.
  • Bruk den tilsvarende OData-oppslagsegenskapen i web-API-forespørsler for oppslagskolonner. Egenskapsnavnet bruker formatet _<column-logical-name>_value. For eksempel returneres primarycontactid oppslagskolonnen som _primarycontactid_value.
  • Endringer i systemvisningen kan ta opptil fem minutter å bli tilgjengelig for web-API-en.

Hvis både Webapi/<table-name>/fields og Webapi/<table-name>/UseFieldsFromView er konfigurert, kombinerer nett-API-en kolonnene som er oppført i Webapi/<table-name>/fields med kvalifiserte kolonner fra systemvisningen Power Pages-nett-API-kolonner for tabellen.

Viktig

  • Nettstedsinnstillingen Webapi/<table-name>/UseFieldsFromView er tilgjengelig i Power Pages, nettstedsversjon 9.8.8.x og nyere.
  • Støtte for jokertegnverdien (*) i Webapi/<table-name>/fields er foreldet. Bruk eksplisitte kolonnenavn, Power Pages Web API Columns-systemvisningen eller begge deler.

Sikkerhet med portal-nett-API-en

Du kan konfigurere postbasert sikkerhet for individuelle poster i portaler ved hjelp av tabelltillatelser. Portalweb-API-en får tilgang til oppføringer for tabellen (entiteten) og følger tabelltillatelsene som gis til brukere gjennom den tilknyttede web role.

Du kan konfigurere kolonnetillatelser for ytterligere å definere rettigheter til individuelle kolonner i en tabell mens du bruker portal Web API.

Nett-API-forespørsler for godkjenning av portal

Du trenger ikke å ta med en godkjenningskode, fordi programøkten administrerer godkjenning og autorisasjon. Alle Web API-kall må inkludere et Cross-Site Request Forgery-token (CSRF).

Bruk av EntitySetName

Når du refererer til Dataverse-tabeller ved hjelp av portalweb-API-en i koden, bruk EntitySetName. Hvis du vil ha tilgang til tabellen for forretningsforbindelse, bruker for eksempel kodesyntaksen EntitySetName for forretningsforbindelser; /_api/accounts().

Merk

Bruk det logiske tabellnavnet for disse stedsinnstillingene (for eksempel forretningsforbindelse).

Følg disse trinnene for å fastslå EntitySetName for bestemte tabeller:

  1. Gå til https://make.powerapps.com

  2. Velg Dataverse-fanen fra sidepanelet, og velg tabellen.

  3. Velg ... (Kommandoer-alternativet), og velg deretter Avansert, Verktøy og Kopier settnavn for å kopiere EntitySetName i tabellen til utklippstavlen.

    Slik finner du EntitySetName for en Dataverse-tabell.

Personvernlover og -forskrifter

Alle forespørselshoder bruker en kontakt-ID for sporing av endringer. For en anonym bruker er verdien null.

Hvis sporing av endringer er aktivert, kan en bruker se alle hendelser for sporing av endringer i Office 365-loggen for sporing av endringer.

Skjermbilde av Office 365-revisjonsloggen.

Mer informasjon:
Aktivere og bruke aktivitetslogging
Eksportere, konfigurere og vise revisjonsloggoppføringer

Konfigurasjonstabeller som ikke støttes

Du kan ikke bruke Portal Web API for følgende konfigurasjonstabeller:

adx_contentaccesslevel

adx_contentsnippet

adx_entityform

adx_entityformmetadata

adx_entitylist

adx_entitypermission

adx_entitypermission_webrole

adx_externalidentity

adx_pagealert

adx_pagenotification

adx_pagetag

adx_pagetag_webpage

adx_pagetemplate

adx_portallanguage

adx_publishingstate

adx_publishingstatetransitionrule

adx_publishingstatetransitionrule_webrole

adx_redirect

adx_setting

adx_shortcut

adx_sitemarker

adx_sitesetting

adx_urlhistory

adx_webfile

adx_webfilelog

adx_webform

adx_webformmetadata

adx_webformsession

adx_webformstep

adx_weblink

adx_weblinkset

adx_webnotificationentity

adx_webnotificationurl

adx_webpage

adx_webpage_tag

adx_webpageaccesscontrolrule

adx_webpageaccesscontrolrule_webrole

adx_webpagehistory

adx_webpagelog

adx_webrole_systemuser

adx_website

adx_website_list

adx_website_sponsor

adx_websiteaccess

adx_websiteaccess_webrole

adx_websitebinding

adx_websitelanguage

adx_webtemplate

Limitations

Egendefinerte aktivitetstabeller arver basiskolonner (for eksempel subject, description, activityidog createdon) fra tabellen activitypointer . Når du konfigurerer web-API-kolonner for en egendefinert aktivitetstabell ved hjelp av Webapi/<table-name>/fields, systemvisningen Power Pages Web API Columns eller $select, inkluder minst én kolonne som er definert direkte i den tabellen, ikke bare arvede kolonner.

Hvis du bare konfigurerer arvede activitypointer kolonner, kan ikke web-API-en oppdage et tabellspesifikt kolonnevalg. Som et resultat behandler den forespørselen som et jokertegn (*) og returnerer følgende feil, selv når du eksplisitt konfigurerer felter: Attributtet Alle kolonner er ikke aktivert for nett-API.

Anbefaling: Inkluder minst én kolonne som er definert direkte i den egendefinerte aktivitetstabellen, for eksempel portalkommentarer/adx_portalcomment, sammen med eventuelle arvede kolonner.

Kjente problemer

Brukere får en CDS-feil hvis de utfører en GET web-API-forespørsel for tabeller som har flere nivåer med én-til-mange- eller mange-til-mange-tabelltillatelser når Parental-, Contact- eller Account-omfang legger til flere betingelser i spørringen.

Hvis du vil løse dette problemet, bruker du FetchXML i OData-spørringen.

Neste trinn

Spørre etter data ved hjelp av web-API for portaler