Oversigt over Web-API til portaler

Web-API-portaler gør det muligt at få en mere omfattende brugeroplevelse på Power Pages-steder. Du kan bruge web-API-portaler til at oprette, læse, opdatere og slette handlinger på tværs af alle Microsoft Dataverse-tabeller fra dine websider. Du kan f.eks. oprette en ny konto eller opdatere en kontakt uden at bruge en formular eller en formular med flere trin ved hjælp af portalens web-API.

Web-API'en bruger /_api ruten (f.eks. ) og følger et RESTful-mønster, https://yoursite.powerappsportals.com/_api/accountsder ligner Dataverse Web-API'en.

Vigtigt

  • Web-API'en til portaler er bygget for at skabe en bedre brugeroplevelse på portalsider. Den er ikke optimeret til tredjepartstjenester eller programintegration. Brug af web-API'en til portaler til at integrere med andre Power Pages websteder understøttes ikke.
  • Web-API-handlinger på portaler er begrænset til tabeller, der er relateret til data – for eksempel konti, kontakter eller dine brugerdefinerede tabeller. Konfiguration af tabelmetadata eller data i portalkonfigurationstabeller – f.eks. konfiguration af portaltabeller som adx_contentsnippet, adx_entityform eller adx_entitylist – understøttes ikke ved hjælp af portals Web API. Du kan se en komplet liste i konfigurationstabeller, der ikke understøttes senere i denne artikel.
  • Portalerne web-API har fordel af cachelagring på serversiden, så efterfølgende kald til web-API'en er hurtigere end de første opkald. Rydning af portalserverens cache medfører midlertidig forringelse af ydeevnen.
  • Web-API-portalhandlinger kræver en Power Pages-licens. Web-API-kald foretaget af anonyme brugere tæller f.eks. med i kapaciteten for anonyme brugere. Web-API-kald foretaget af autentificerede brugere (interne eller eksterne) tæller ikke med i sidevisninger, men kræver de relevante kapacitetslicenser for autentificerede brugere. Du kan finde flere oplysninger i ofte stillede spørgsmål om Power Pages-licensering.
  • Kald af handlinger og funktioner ved hjælp af portals Web API understøttes ikke.

Web-API-handlinger

Web-API'en til portaler tilbyder et undersæt af funktioner til Dataverse-handlinger, som du kan udføre ved hjælp af Dataverse-API'en. API-formatet er så ens som muligt for at reducere læringskurven.

Bemærk

Web API-operationer skelner mellem store og små bogstaver.

Web-API-handlinger, der er tilgængelige i Power Pages

Indstillinger for websted for web-API

Vigtigt

Understøttelse af jokertegnværdien (*) i webstedsindstillingen Webapi/<table-name>/fields er forældet.

Erstat * med en kommasepareret liste over de kolonner, der kræves af dit websted. Power Pages web-API-anmodninger for tabeller, der er konfigureret med *, mislykkes, indtil du konfigurerer eksplicitte kolonnenavne.

Hvis du vil aktivere portalens web-API for dit websted, skal du konfigurere webstedsindstillingerne for hver tabel, du vil eksponere. Du kan definere de kolonner, der er tilgængelige for web-API'en, ved at angive dem i en webstedsindstilling, ved hjælp af en Dataverse-systemvisning eller ved at kombinere begge metoder.

Bemærk

Brug det tabellens logiske navn til disse indstillinger (f.eks. konto).

Navn på indstilling for websted Description
Webapi/<table-name>/enabled Aktiverer eller deaktiverer web-API til <tabelnavn>.
Standard:False
Gyldige værdier:True, False
Webapi/<table-name>/fields Definerer en kommasepareret liste over kolonnelogiske navne, der er tilgængelige via web-API'en. F.eks., name,accountnumber,telephone1. Denne indstilling er påkrævet, medmindre Webapi/<table-name>/UseFieldsFromView er angivet til True , og den konfigurerede systemvisning indeholder mindst én berettiget kolonne. Jokertegnværdien (*) frarådes.
Webapi/<table-name>/UseFieldsFromView Når den er angivet til True, gør kolonner fra en Dataverse-systemvisning med navnet Power Pages web-API-kolonner tilgængelige via web-API'en. Standard:False. Gyldige værdier:True, False. Hvis Webapi/<table-name>/fields også er konfigureret, kombineres kolonner fra begge kilder.
Webapi/error/innererror Aktiverer eller deaktiverer InnerError.
Standard:False
Gyldige værdier:True, False

Hvis du f.eks. vil vise web-API'en for tabellen Sag, hvor godkendte brugere kan oprette, opdatere og slette poster for dette objekt, skal du bruge de webstedsindstillinger, der vises i følgende tabel.

Navn på indstilling for websted Værdi for webstedsindstilling
Webapi/incident/enabled true
Webapi/incident/fields attr1, attr2, attr3

Konfigurer web-API-kolonner ved hjælp af en systemvisning

Ved hjælp af en systemvisning kan oprettere administrere de kolonner, der er tilgængelige via portalens web-API, uden at vedligeholde en kommasepareret liste i en webstedsindstilling.

  1. Åbn Data workspace i Power Pages designstudie.
  2. Vælg tabellen, vælg fanen Visninger , og opret eller rediger derefter en offentlig systemvisning.
  3. Navngiv visningen Power Pages web-API-kolonner.
  4. Føj de kolonner, dit websted skal bruge, til visningen, og gem og publicer derefter visningen.
  5. Opret webstedsindstillingen Webapi/<table-name>/UseFieldsFromView for webstedet i appen Portaladministration, og angiv dets værdi til True.
  6. Kontrollér, at Webapi/<table-name>/enabled er angivet til True.

Bemærk

  • Kun de kolonner fra den primære tabel, der vises i visningen, medtages. Kolonner fra relaterede tabeller er ikke inkluderet. Kolonner, der kun bruges til filtrering eller sortering, medtages ikke, medmindre de også vises i visningen.
  • I forbindelse med opslagskolonner skal du bruge den tilsvarende OData-opslagsegenskab i web-API-anmodninger. Egenskabsnavnet bruger formatet _<column-logical-name>_value. Opslagskolonnen primarycontactid returneres f.eks. som _primarycontactid_value.
  • Det kan tage op til fem minutter, før ændringer af systemvisningen bliver tilgængelige for web-API'en.

Hvis både Webapi/<table-name>/fields og Webapi/<table-name>/UseFieldsFromView er konfigureret, kombinerer web-API'en de kolonner, der er angivet i Webapi/<table-name>/fields , med berettigede kolonner fra systemvisningen Power Pages web-API-kolonner for den pågældende tabel.

Vigtigt

  • Indstillingen for webstedet Webapi/<table-name>/UseFieldsFromView er tilgængelig i Power Pages-webstedsversion 9.8.8.x og nyere.
  • Understøttelse af jokertegnværdien (*) i Webapi/<table-name>/fields frarådes. Brug eksplicitte kolonnenavne, systemvisningen Power Pages web-API-kolonner eller begge dele.

Sikkerhed med portalweb-API'en

Du kan konfigurere postbaseret sikkerhed for individuelle poster på portaler ved hjælp af tabeltilladelser. Portalweb-API'en tilgår tabelposter (entitet) og følger de tabeltilladelser, der er givet til brugere via den tilknyttede web role.

Du kan konfigurere kolonnetilladelser for yderligere at definere rettigheder til individuelle kolonner i en tabel, mens du bruger portal Web API.

Autentificering af portalweb-API-anmodninger

Du behøver ikke at inkludere en godkendelseskode, da godkendelse og autorisation administreres af programsessionen. Alle Web-API-kald skal inkludere et CSRF-token (forfalskning af anmodning på tværs af websteder).

Brug af EntitySetName

Når du refererer til Dataverse-tabeller ved hjælp af portalweb-API'en i din kode, skal du bruge EntitySetName. Hvis du f.eks. vil have adgang til account-tabellen, bruger kodesyntaksen EntitySetName for accounts. /_api/accounts().

Bemærk

Brug tabellens logiske navn for websteds-indstillinger (f.eks. firma).

Følg disse trin for at bestemme EntitySetName for bestemte tabeller:

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

  2. Vælg fanen Dataverse i sidepanelet, og vælg tabellen.

  3. Vælg indstillingen ... (Kommandoer), og vælg derefter Avanceret, Værktøjer og Kopiér sætnavn for at kopiere tabellens EntitySetName-navn til Udklipsholder.

    Sådan finder du EntitySetName for en Dataverse-tabel.

Lovgivning og regler om beskyttelse af personlige oplysninger

Alle anmodningsheadere bruger et kontakt-id til revisionsformål. For en anonym bruger er værdien null.

Hvis overvågningsloggen er aktiveret, kan en bruger se alle overvågningshændelserne i Office 365-overvågningsloggen.

Skærmbillede af Office 365-overvågningslog.

Flere oplysninger:
Aktivere og bruge logføring af aktiviteter
Eksportere, konfigurere og vise poster i overvågningsloggen

Ikke-understøttede konfigurationstabeller

Du kan ikke bruge Portal Web API til følgende konfigurationstabeller:

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

Begrænsninger

Brugerdefinerede aktivitetstabeller nedarver basiskolonner (f.eks. subject, description, activityidog createdon) fra tabellen activitypointer . Når du konfigurerer web-API-kolonner for en brugerdefineret aktivitetstabel ved hjælp af Webapi/<table-name>/fields, indeholder systemvisningen Power Pages web-API-kolonner eller $select mindst én kolonne, der er defineret direkte i den pågældende tabel, ikke kun nedarvede kolonner.

Hvis du kun konfigurerer nedarvede activitypointer kolonner, kan web-API'en ikke registrere en tabelspecifik kolonnemarkering. Derfor behandler den anmodningen som et jokertegn (*) og returnerer følgende fejl, også selvom du eksplicit konfigurerer felter: Attributten Alle kolonner er ikke aktiveret for Web Api.

Anbefaling: Medtag mindst én kolonne, der er defineret direkte i den brugerdefinerede aktivitetstabel, f.eks . Portalkommentarer/adx_portalcomment, sammen med eventuelle nedarvede kolonner.

Kendte problemer

Brugerne får vist en CDS-fejl, hvis de udfører en GET web-API-anmodning for tabeller, der har flere niveauer af én til mange- eller mange til mange-tabeltilladelser, når områder af typen Forældre, Kontakt eller Konto føjer flere betingelser til forespørgslen.

Du kan løse problemet ved at bruge FetchXML i OData-forespørgslen.

Næste trin

Forespørgsel efter data ved hjælp af portaler Web API