Overzicht van Web-API voor portals

De web-API voor portals zorgt voor een rijkere gebruikerservaring binnen Power Pages-sites. U kunt de web-API gebruiken om voor alle Microsoft Dataverse-tabellen van uw webpagina's bewerkingen voor maken, lezen, bijwerken en verwijderen uit te voeren. U kunt bijvoorbeeld een nieuw account maken of een contactpersoon bijwerken zonder een formulier of formulier met meerdere stappen te gebruiken met behulp van de portals Web API.

De web-API maakt gebruik van de /_api route (bijvoorbeeld https://yoursite.powerappsportals.com/_api/accounts) en volgt een RESTful-patroon dat vergelijkbaar is met de Dataverse-web-API.

Belangrijk

  • De web-API voor portals is gebouwd om een rijkere gebruikerservaring binnen portalpagina's te maken. Het is niet geoptimaliseerd voor services van derden of integratie van toepassingen. Het gebruik van de web-API voor portals om te integreren met andere Power Pages sites wordt niet ondersteund.
  • Bewerkingen van de web-API voor portals zijn beperkt tot tabellen die zijn gerelateerd aan gegevens, bijvoorbeeld accounts, contactpersonen of uw aangepaste tabellen. Het configureren van tabelmetagegevens of portalconfiguratietabelgegevens, bijvoorbeeld het configureren van portaltabellen zoals adx_contentsnippet, adx_entityform of adx_entitylist, wordt niet ondersteund met behulp van de web-API voor portals. Zie voor een volledige lijst niet-ondersteunde configuratietabellen verderop in dit artikel.
  • De web API voor portals profiteert van het opslaan in cache op de server, dus volgende aanroepen naar de web API zijn sneller dan de eerste aanroepen. Het wissen van de server-side-cache van het portaal veroorzaakt tijdelijk prestatieverlies.
  • Voor bewerkingen met de web-API voor portals is een Power Pages-licentie vereist. Web-API-aanroepen van anonieme gebruikers tellen bijvoorbeeld mee voor de capaciteit van anonieme gebruikers. Web API-aanroepen door geverifieerde gebruikers (intern of extern) tellen niet mee voor paginaweergaven, maar vereisen toepasselijke geverifieerde licenties voor gebruikerscapaciteit. Zie Power Pages veelgestelde vragen over licenties voor meer informatie.
  • Het aanroepen van acties en functies met behulp van de portals Web API wordt niet ondersteund.

Web-API-bewerkingen

De web-API voor portals biedt een subset van mogelijkheden voor Dataverse-bewerkingen die u kunt uitvoeren met de Dataverse-API. De API-indeling is zo veel mogelijk hetzelfde om de leercurve te verminderen.

Notitie

Web-API-bewerkingen zijn hoofdlettergevoelig.

Web-API-bewerkingen beschikbaar in Power Pages

Site-instellingen voor de web-API

Belangrijk

Ondersteuning voor de jokertekenwaarde (*) in de Webapi/<table-name>/fields-site-instelling is verouderd.

Vervang * door een door komma's gescheiden lijst met de kolommen die door uw site zijn vereist. Power Pages web-API-aanvragen voor tabellen die met * zijn geconfigureerd, mislukken totdat u expliciete kolomnamen configureert.

Als u de web-API van portals voor uw site wilt inschakelen, configureert u de site-instellingen voor elke tabel die u beschikbaar wilt maken. U kunt de kolommen definiëren die beschikbaar zijn voor de web-API door ze op te geven in een site-instelling, met behulp van een Dataverse-systeemweergave of door beide methoden te combineren.

Notitie

Gebruik de tabel logische naam voor deze instellingen (bijvoorbeeld account).

Naam van site-instelling Omschrijving
Webapi/<table-name>/enabled Schakelt de web-API in of uit voor <tabelnaam>.
Standaard:False
Geldige waarden:True, False
Webapi/<table-name>/fields Hiermee definieert u een door komma's gescheiden lijst met logische kolomnamen die beschikbaar zijn via de web-API. Bijvoorbeeld: name,accountnumber,telephone1. Deze instelling is vereist, tenzij Webapi/<table-name>/UseFieldsFromView is ingesteld op True en de geconfigureerde systeemweergave ten minste één in aanmerking komende kolom bevat. De wildcardwaarde (*) is afgeschaft.
Webapi/<table-name>/UseFieldsFromView Wanneer dit is ingesteldTrue, worden kolommen uit een Dataverse-systeemweergave met de naam Power Pages Web-API-kolommen beschikbaar gemaakt via de web-API. Standaard:False. Geldige waarden:True, False. Als Webapi/<table-name>/fields ook is geconfigureerd, worden kolommen uit beide bronnen gecombineerd.
Webapi/error/innererror Hiermee wordt InnerError in- of uitgeschakeld.
Standaard:False
Geldige waarden:True, False

Als u bijvoorbeeld de web-API beschikbaar wilt maken voor de casetabel waarin geverifieerde gebruikers records voor deze entiteit kunnen maken, bijwerken en verwijderen, gebruikt u de site-instellingen die worden weergegeven in de volgende tabel.

Naam van site-instelling Waarde Site-instelling
Webapi/incident/enabled waar
Webapi/incident/fields attr1, attr2, attr3

Web-API-kolommen configureren met behulp van een systeemweergave

Met behulp van een systeemweergave kunnen makers de kolommen beheren die beschikbaar zijn via de web-API van de portal zonder dat ze een door komma's gescheiden lijst in een site-instelling onderhouden.

  1. Open in Power Pages ontwerpstudio de werkruimte Gegevens.
  2. Selecteer de tabel, selecteer het tabblad Weergaven en maak of bewerk vervolgens een openbare systeemweergave.
  3. Geef de weergave een naam Power Pages web-API-kolommen.
  4. Voeg de kolommen die uw site nodig heeft aan de weergave toe en sla de weergave vervolgens op en publiceer deze.
  5. Maak in de portalbeheer-app de Webapi/<table-name>/UseFieldsFromView site-instelling voor de website en stel de waarde in op True.
  6. Bevestig dat Webapi/<table-name>/enabled is ingesteld op True.

Notitie

  • Alleen kolommen uit de primaire tabel die in de weergave worden weergegeven, worden opgenomen. Kolommen uit gerelateerde tabellen zijn niet opgenomen. Kolommen die alleen worden gebruikt voor filteren of sorteren, worden niet opgenomen, tenzij ze ook in de weergave worden weergegeven.
  • Voor opzoekkolommen gebruikt u de bijbehorende OData-opzoekeigenschap in Web-API-aanvragen. De naam van de eigenschap maakt gebruik van de notatie _<column-logical-name>_value. De primarycontactid-opzoekkolom wordt bijvoorbeeld geretourneerd als _primarycontactid_value.
  • Het kan vijf minuten duren voordat wijzigingen in de systeemweergave beschikbaar zijn voor de web-API.

Als beide Webapi/<table-name>/fields en Webapi/<table-name>/UseFieldsFromView zijn geconfigureerd, combineert de web-API de in Webapi/<table-name>/fields vermelde kolommen met in aanmerking komende kolommen uit de systeemweergave Power Pages Web-API-kolommen voor die tabel.

Belangrijk

  • De Webapi/<table-name>/UseFieldsFromView site-instelling is beschikbaar in Power Pages siteversie 9.8.8.x en hoger.
  • Ondersteuning voor de jokertekenwaarde (*) in Webapi/<table-name>/fields is afgeschaft. Gebruik expliciete kolomnamen, de systeemweergave Power Pages Web-API-kolommen of beide.

Beveiliging met de web-API van de portal

U kunt op records gebaseerde beveiliging configureren voor individuele records in portals met tabelmachtigingen. De web-API van de portal heeft toegang tot tabelrecords (entiteitsrecords) en volgt de tabelmachtigingen die aan gebruikers zijn verleend via de bijbehorende webrol.

U kunt kolommachtigingen configureren om bevoegdheden voor afzonderlijke kolommen in een tabel verder te definiëren terwijl u de web-API van de portal gebruikt.

Portal Web API-aanvragen authenticeren

U hoeft geen verificatiecode op te nemen, omdat verificatie en autorisatie worden beheerd door de toepassingssessie. Alle web-API-aanroepen moeten een CSRF-token (Cross-Site Request Forgery) bevatten.

EntitySetName gebruiken

Wanneer u verwijst naar Dataverse-tabellen met behulp van de web-API van de portal in uw code, gebruikt u EntitySetName. Voor toegang tot de accounttabel gebruikt de codesyntaxis bijvoorbeeld de EntitySetName van accounts; /_api/accounts().

Notitie

Gebruik de tabel logische naam voor site-instellingen (bijvoorbeeld account).

Volg deze stappen om de EntitySetName van specifieke tabellen te bepalen:

  1. Ga naar https://make.powerapps.com

  2. Selecteer het tabblad Dataverse in het zijpaneel en selecteer de tabel.

  3. Selecteer ... (optie Meer opdrachten) en kies vervolgens Geavanceerd, Hulpmiddelen en Setnaam kopiëren om de EntitySetName te kopiëren van de tabel naar uw klembord.

    Hoe u de EntitySetName van een Dataverse-tabel kunt vinden.

Privacywet- en regelgeving

Alle aanvraagheaders gebruiken een contact-id voor controledoeleinden. Voor een anonieme gebruiker is nullde waarde .

Als auditregistratie is ingeschakeld, kan een gebruiker alle auditgebeurtenissen zien in het Office 365-auditlogboek.

Schermopname van het Office 365-auditlogboek.

Meer informatie:
Logboekregistratie van activiteiten inschakelen en gebruiken
Auditlogboekrecords exporteren, configureren en weergeven

Niet-ondersteunde configuratietabellen

U kunt de web-API van de portal niet gebruiken voor de volgende configuratietabellen:

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

Aangepaste activiteitstabellen nemen basiskolommen (zoals subject, descriptionen activityidcreatedon) over van de activitypointer tabel. Wanneer u web-API-kolommen configureert voor een aangepaste activiteitstabel met behulp van Webapi/<table-name>/fields, de systeemweergave Power Pages web-API-kolommen of $select, neem dan ten minste één kolom op die rechtstreeks in die tabel is gedefinieerd, niet alleen overgenomen kolommen.

Als u alleen overgenomen activitypointer kolommen configureert, kan de web-API geen tabelspecifieke kolomselectie detecteren. Als gevolg hiervan wordt de aanvraag behandeld als wildcard (*) en wordt de volgende fout geretourneerd, zelfs wanneer u expliciet velden configureert: Attribute All Columns is not enabled for Web Api.

Aanbeveling: Neem ten minste één kolom op die rechtstreeks is gedefinieerd in de aangepaste activiteitentabel, zoals Portalopmerkingen/adx_portalcomment, samen met overgenomen kolommen.

Bekende problemen

Gebruikers krijgen een CDS-fout als ze een GET web-API-aanvraag aanroepen voor tabellen met meerdere niveaus van een-op-veel- of veel-op-veeltabelmachtigingen wanneer Parental-, Contact- of Account-scopes meer voorwaarden aan de query toevoegen.

Gebruik FetchXML in de OData-query om dit probleem op te lossen.

Volgende stap

Gegevens opvragen met de Portal-Web-API