Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
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
- Records van een tabel lezen
- Een record in een tabel maken
- Records in een tabel bijwerken en verwijderen
- Tabellen koppelen en loskoppelen
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.
- Open in Power Pages ontwerpstudio de werkruimte Gegevens.
- Selecteer de tabel, selecteer het tabblad Weergaven en maak of bewerk vervolgens een openbare systeemweergave.
- Geef de weergave een naam Power Pages web-API-kolommen.
- Voeg de kolommen die uw site nodig heeft aan de weergave toe en sla de weergave vervolgens op en publiceer deze.
- Maak in de portalbeheer-app de
Webapi/<table-name>/UseFieldsFromViewsite-instelling voor de website en stel de waarde in opTrue. - Bevestig dat
Webapi/<table-name>/enabledis ingesteld opTrue.
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. Deprimarycontactid-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>/UseFieldsFromViewsite-instelling is beschikbaar in Power Pages siteversie 9.8.8.x en hoger. - Ondersteuning voor de jokertekenwaarde (
*) inWebapi/<table-name>/fieldsis 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:
Ga naar https://make.powerapps.com
Selecteer het tabblad Dataverse in het zijpaneel en selecteer de tabel.
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.
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.
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