Översikt över webb-API-portaler

Portalernas webb-API ger en bättre användarupplevelse i Power Pages-webbplatser. Du kan använda webb-API för att skapa, läsa, uppdatera och ta bort åtgärder i alla Microsoft Dataverse-tabeller från dina webbsidor. Du kan till exempel skapa ett nytt konto eller uppdatera en kontakt utan att använda ett formulär eller flerstegsformulär med hjälp av portalens webb-API.

Webb-API:t använder routen /_api (till exempel https://yoursite.powerappsportals.com/_api/accounts) och följer ett RESTful mönster som liknar Dataverse Web API.

Viktigt!

  • Webb-API för portaler är byggd för att skapa en rikare användarupplevelse i portalsidorna. Det är inte optimerat för tredjepartstjänster eller programintegrering. Att använda portalens webb-API för att integrera med andra Power Pages-webbplatser stöds inte.
  • Webb API-åtgärder för portaler är begränsade till tabeller som är relaterade till data, till exempel konton, kontakter eller dina anpassade tabeller. Konfiguration av tabellmetadata eller portalkonfigurationstabelldata – till exempel att konfigurera portaltabeller som adx_contentsnippet, adx_entityform eller adx_entitylist – stöds inte med hjälp av Portals Web API. En fullständig lista finns i konfigurationstabeller som inte stöds senare i den här artikeln.
  • Portalernas webb-API har nytta av cachelagring på serversidan, så efterföljande anrop till webb-API:et är snabbare än de första anropen. Rensning av portalens cache på serversidan orsakar en tillfällig prestandaförsämring.
  • Portalers webb-API-åtgärder kräver en Power Pages-licens. Webb-API-anrop som görs av anonyma användare räknas till exempel mot den anonyma användarkapaciteten. Webb-API-anrop som görs av autentiserade användare (interna eller externa) räknas inte mot sidvisningar, men kräver tillämpliga kapacitetslicenser för autentiserade användare. Mer information finns i vanliga frågor och svar om Power Pages licensiering.
  • Anropa åtgärder och funktioner med hjälp av portalens webb-API stöds inte.

Webb-API för åtgärder

Webb-API för portaler tillhandahåller en deluppsättning funktioner för Dataverse-åtgärder som du kan utföra med hjälp av API:t för Dataverse. API-formatet är så likt som möjligt för att minska inlärningskurvan.

Kommentar

Webb-API-åtgärder är skiftlägeskänsliga.

Webb-API-åtgärder som är tillgängliga i Power Pages

Webbplatsinställningar för webb-API

Viktigt!

Stöd för jokerteckenvärdet (*) i webbplatsinställningen Webapi/<table-name>/fields är utfasat.

Ersätt * med en kommaavgränsad lista över de kolumner som din webbplats kräver. Power Pages webb-API-begäranden för tabeller som konfigurerats med * misslyckas tills du konfigurerar explicita kolumnnamn.

Om du vill aktivera portalens webb-API för din webbplats konfigurerar du webbplatsinställningarna för varje tabell som du vill exponera. Du kan definiera de kolumner som är tillgängliga för webb-API:et genom att ange dem i en webbplatsinställning, med hjälp av en Dataverse-systemvy eller genom att kombinera båda metoderna.

Kommentar

Använd tabellens logiska namn för de här inställningarna (till exempel konto).

Namn på webbplatsinställning Beskrivning
Webapi/<table-name>/enabled Aktiverar eller inaktiverar webb-API för <table name>.
Standard:False
Giltiga värden:True, False
Webapi/<table-name>/fields Definierar en kommaavgränsad lista över kolumn logiska namn som är tillgängliga via webb-API:et. Till exempel name,accountnumber,telephone1. Den här inställningen krävs såvida inte Webapi/<table-name>/UseFieldsFromView har angetts till True och den konfigurerade systemvyn innehåller minst en giltig kolumn. Jokertecknets värde (*) är föråldrat.
Webapi/<table-name>/UseFieldsFromView När det är inställt på Trueblir kolumner från en Dataverse-systemvy med namnet Power Pages webb-API-kolumner tillgängliga via webb-API:et. Standard:False. Giltiga värden:True, False. Om Webapi/<table-name>/fields också är konfigurerat kombineras kolumner från båda källorna.
Webapi/error/innererror Aktiverar eller inaktiverar InnerError.
Standard:False
Giltiga värden:True, False

Om du till exempel vill exponera webb-API:et för tabellen Ärende där autentiserade användare kan skapa, uppdatera och ta bort poster för den här entiteten använder du webbplatsinställningarna som visas i följande tabell.

Namn på webbplatsinställning Webbplatsinställningsvärde
Webapi/incident/aktiverat sant
Webapi/incident/fields attr1, attr2, attr3

Konfigurera webb-API-kolumner med hjälp av en systemvy

Med hjälp av en systemvy kan skaparna hantera de kolumner som är tillgängliga via portalens webb-API utan att underhålla en kommaavgränsad lista i en webbplatsinställning.

  1. Öppna Data-arbetsytan i Power Pages designstudio.
  2. Välj tabellen, välj fliken Vyer och skapa eller redigera sedan en offentlig systemvy.
  3. Namnge vyn Power Pages webb-API-kolumner.
  4. Lägg till de kolumner som webbplatsen behöver i vyn och spara och publicera sedan vyn.
  5. I portalhanteringsappen skapar du webbplatsinställningen Webapi/<table-name>/UseFieldsFromView för webbplatsen och anger dess värde till True.
  6. Bekräfta att Webapi/<table-name>/enabled är inställd på True.

Kommentar

  • Endast kolumner från den primära tabellen som visas i vyn ingår. Kolumner från relaterade tabeller ingår inte. Kolumner som endast används för filtrering eller sortering ingår inte om de inte också visas i vyn.
  • För uppslagskolumner använder du motsvarande OData-uppslagsegenskap i webb-API-begäranden. Egenskapsnamnet använder formatet _<column-logical-name>_value. Till exempel returneras uppslagskolumnen primarycontactid som _primarycontactid_value.
  • Det kan ta upp till fem minuter innan ändringar i systemvyn blir tillgängliga för webb-API:et.

Om både Webapi/<table-name>/fields och Webapi/<table-name>/UseFieldsFromView är konfigurerade kombinerar webb-API:et kolumnerna som anges i Webapi/<table-name>/fields med giltiga kolumner från systemvyn Power Pages web-API-kolumner för den tabellen.

Viktigt!

  • Webbplatsinställningen Webapi/<table-name>/UseFieldsFromView är tillgänglig i Power Pages webbplatsversion 9.8.8.x och senare.
  • Stöd för jokerteckenvärdet (*) i Webapi/<table-name>/fields är föråldrat. Använd explicita kolumnnamn, systemvyn Power Pages Web API Columns eller båda.

Säkerhet med portalens webb-API

Du kan konfigurera postbaserad säkerhet för enskilda poster i portaler med hjälp av tabellbehörigheter. Portalens webb-API kommer åt tabellposter (entitet) och följer de tabellbehörigheter som ges till användare via den associerade webbrollen.

Du kan konfigurera kolumnbehörigheter för att ytterligare definiera behörigheter för enskilda kolumner i en tabell när du använder portalwebb-API:et.

Autentisering av portalen för webb-API-begäranden

Du behöver inte ha med någon autentiseringskod, detta eftersom programsessionen hanterar autentisering och auktorisering. Alla webb-API-anrop måste innehålla ett token för förfalskning av begäran mellan webbplatser.

Användning av EntitySetName

När du refererar till Dataverse-tabeller med hjälp av portalwebb-API:et i koden använder du EntitySetName. För att komma åt kontotabellen använder till exempel kodsyntaxen EntitySetName för konton. /_api/accounts().

Kommentar

Använd tabellens logiska namn för webbplatsinställningar (till exempel konto).

Följ dessa steg för att fastställa EntitySetName för specifika tabeller:

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

  2. Markera fliken Dataverse på sidopanelen och markera tabellen.

  3. Välj alternativet ... (Kommandon) och välj sedan Avancerat, Verktyg och Kopiera namn på uppsättning för att kopiera tabellens EntitySetName till Urklipp.

    Så här hittar du EntitySetName för en Dataverse-tabell.

Sekretesslagar och regler

Alla begärandehuvuden använder ett kontakt-ID för granskningsändamål. För en anonym användare är värdet null.

Om spårningsloggning har aktiverats kan en användare se alla spårningshändelser i spårningsloggen för Office 365.

Skärmbild på Office 365 granskningsloggen.

Mer information:
Aktivera och använd loggning av aktiviteter
Exportera, konfigurera och visa poster i granskningsloggen

Konfigurationstabell som inte stöds

Du kan inte använda Portal Web API för följande 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

Limitations

Anpassade aktivitetstabeller ärver baskolumner (till exempel subject, description, activityidoch createdon) från activitypointer tabellen. När du konfigurerar webb-API-kolumner för en anpassad aktivitetstabell med hjälp av Webapi/<table-name>/fields, systemvyn Power Pages web-API-kolumner eller $select, ska du inkludera minst en kolumn som definierats direkt i tabellen, inte bara ärvda kolumner.

Om du bara konfigurerar ärvda activitypointer kolumner kan webb-API:et inte identifiera en tabellspecifik kolumnmarkering. Det innebär att begäran behandlas som ett jokertecken (*) och returnerar följande fel, även när du uttryckligen konfigurerar fält: Attributet Alla kolumner är inte aktiverat för Webb-API.

Rekommendation: Inkludera minst en kolumn som definierats direkt i den anpassade aktivitetstabellen, till exempel Portal Comments/adx_portalcomment, tillsammans med ärvda kolumner.

Kända problem

Användare får ett CDS-fel om de anropar en GET webb-API-begäran för tabeller som har flera nivåer av en till många eller många till många tabellbehörigheter sedan omfånget Överordnad, Kontakt eller Konto lägger till fler villkor i frågan.

Lös problemet genom att använda FetchXML i OData-frågan.

Gå vidare

Frågedata med webb-API för portaler