Ö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. Det går inte att använda portalens webb-API för att integrera med andra Power Pages webbplatser.
  • 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 portalens webb-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 autentiserade användarkapacitetslicenser. 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 inaktuellt.

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

Aktivera webbplatsinställningen för att aktivera portalens webb-API för portalen. Du kan också konfigurera webb-API:et på fältnivå som avgör vilka tabellfält som användarna kan eller inte kan ändra med hjälp av portalernas webb-API.

Kommentar

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

Namn på webbplatsinställning Beskrivning
Webapi/<tabellnamn>/aktiverat Aktiverar eller inaktiverar webb-API för <table name>.
Standard:False
Giltiga värden:True, False
Webapi/<tabellnamn>/fält Definierar den kommaavgränsade listan med attribut som användarna kan ändra med hjälp av webb-API:et.
Möjliga värden:
- Specifika attribut:attr1,attr2,attr3
Viktigt! Den här inställningen är en obligatorisk webbplatsinställning. När den här inställningen saknas visas felmeddelandet "Inga fält har definierats för den här entiteten".
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

Säkerhet med webb-API för portaler

Du kan konfigurera postbaserad säkerhet för enskilda poster i portaler med hjälp av tabellbehörigheter. Portalers webb-API ger åtkomst till tabellposter (entitetsposter) och följer tabellbehörigheterna som ges till användare via den associerade webbrollen.

Du kan konfigurera kolumnbehörigheter för att ytterligare definiera privilegier för enskilda kolumner i en tabell med hjälp av portalwebb-API.

Autentisering av portaler 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 portalens webb-API 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 uppsättningsnamn för att kopiera EntitySetName för tabellen till Urklipp.

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

Sekretesslagar och regler

Alla begärandehuvuden använder ett kontakt-ID i granskningssyfte. För en anonym användare är nullvärdet .

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

Webb-API för portaler kan inte användas 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

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 1 till många eller många till många tabellbehörigheter när omfången Ö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