Übersicht über Web-API für Portale

Die Web-API des Portals ermöglicht eine reichhaltigere Benutzererfahrung in Power Pages-Websites. Sie können die Web-API verwenden, um Vorgänge zum Erstellen, Lesen, Aktualisieren und Löschen aller Microsoft Dataverse-Tabellen von Ihren Webseiten aus durchzuführen. Sie können z. B. ein neues Konto erstellen oder einen Kontakt aktualisieren, ohne ein Formular oder ein mehrstufiges Formular zu verwenden, indem Sie die Web-API für Portale verwenden.

Die Web-API verwendet die /_api Route (z. B https://yoursite.powerappsportals.com/_api/accounts. ) und folgt einem RESTful-Muster, das der Dataverse-Web-API ähnelt.

Wichtig

  • Die Web-API für Portale ist zum Erstellen einer umfassenden Benutzerumgebung in Portalseiten konzipiert. Sie ist nicht für Dienste von Drittanbietern oder die Integration von Anwendungen optimiert. Die Verwendung der Web-API für Portale zur Integration in andere Power Pages-Websites wird nicht unterstützt.
  • Portalvorgänge mit der Web-API sind auf datenbezogene Tabellen beschränkt – zum Beispiel Konten, Kontakte oder Ihre benutzerdefinierten Tabellen. Das Konfigurieren von Tabellenmetadaten oder Portalkonfigurationstabellendaten, z. B. das Konfigurieren von Portaltabellen wie adx_contentsnippet, adx_entityform oder adx_entitylist, wird nicht mithilfe der Portalweb-API unterstützt. Eine vollständige Liste finden Sie in den nicht unterstützten Konfigurationstabellen weiter unten in diesem Artikel.
  • Die Portale-Web-API profitiert vom Server-seitigen Zwischenspeichern, so dass nachfolgende Aufrufe der Web-API schneller sind als die ersten Aufrufe. Das Löschen des serverseitigen Caches des Portals führt zu einer vorübergehenden Leistungsverschlechterung.
  • Portals-Web-API-Vorgänge erfordern eine Power Pages-Lizenz. Web-API-Aufrufe von anonymen Benutzern zählen beispielsweise zur Kapazität anonymer Benutzer. Web-API-Aufrufe von authentifizierten Benutzern (intern oder extern) zählen nicht zu Seitenaufrufen, erfordern aber entsprechende Kapazitätslizenzen für authentifizierte Benutzer. Weitere Informationen finden Sie in Power Pages häufig gestellten Fragen zur Lizenzierung.
  • Das Aufrufen von Aktionen und Funktionen mithilfe der Web-API der Portale wird nicht unterstützt.

Web-API-Vorgänge

Die Web-API für Portale bietet einen Teil der Funktionen für Dataverse-Vorgänge, die Sie mit der Dataverse-API ausführen können. Das API-Format ist so ähnlich wie möglich, um die Lernkurve zu reduzieren.

Anmerkung

Bei Web-API-Operationen wird zwischen Groß- und Kleinschreibung unterschieden.

In Power Pages verfügbare Web-API-Vorgänge

Website-Einstellungen für die Web-API

Wichtig

Die Unterstützung für den Wildcardwert (*) in der Webapi/<table-name>/fields Websiteeinstellung ist veraltet.

Ersetzen Sie * durch eine durch Kommas getrennte Liste der Spalten, die von Ihrer Website benötigt werden. Power Pages Web-API-Anforderungen für Tabellen, die mit * konfiguriert sind, scheitern, bis Sie explizite Spaltennamen konfigurieren.

Um die Web-API für Portale für Ihre Website zu aktivieren, konfigurieren Sie die Websiteeinstellungen für jede Tabelle, die Sie verfügbar machen möchten. Sie können die für die Web-API verfügbaren Spalten definieren, indem Sie sie in einer Websiteeinstellung auflisten, indem Sie eine Dataverse-Systemansicht verwenden oder beide Methoden kombinieren.

Anmerkung

Verwenden Sie den logischen Namen für diese Einstellungen (z. B. account).

Website-Einstellungsname Beschreibung
Webapi/<table-name>/enabled Aktiviert oder deaktiviert die Web-API für <Tabellenname>.
Standard:False
Gültige Werte:True, False
Webapi/<table-name>/fields Definiert eine durch Kommas getrennte Liste der logischen Spaltennamen, die über die Web-API verfügbar sind. Beispiel: name,accountnumber,telephone1 Diese Einstellung ist erforderlich, es sei denn, Webapi/<table-name>/UseFieldsFromView ist auf True gesetzt und die konfigurierte Systemansicht enthält mindestens eine berechtigte Spalte. Der Wildcardwert (*) ist veraltet.
Webapi/<table-name>/UseFieldsFromView Bei Festlegung auf True werden Spalten aus einer Dataverse-Systemansicht namens Power Pages Web API Columns über die Web-API verfügbar gemacht. Standard:False. Gültige Werte:True, False. Wenn Webapi/<table-name>/fields auch konfiguriert ist, werden Spalten aus beiden Quellen kombiniert.
Webapi/error/innererror Aktiviert oder deaktiviert InnerError.
Standard:False
Gültige Werte:True, False

Wenn Sie beispielsweise die Web-API für die Tabelle "Fall" verfügbar machen möchten, in der authentifizierte Benutzer Datensätze für diese Entität erstellen, aktualisieren und löschen können, verwenden Sie die in der folgenden Tabelle gezeigten Websiteeinstellungen.

Website-Einstellungsname Website-Einstellungswert
Webapi/incident/enabled Wahr
Webapi/incident/fields attr1, attr2, attr3

Konfigurieren von Web-API-Spalten mithilfe einer Systemansicht

Mithilfe einer Systemansicht können Ersteller die Spalten verwalten, die über die Web-API des Portals verfügbar sind, ohne eine durch Trennzeichen getrennte Liste in einer Websiteeinstellung zu verwalten.

  1. Öffnen Sie in Power Pages Design Studio den Arbeitsbereich „Daten“.
  2. Wählen Sie die Tabelle aus, wählen Sie die Registerkarte Ansichten aus, und erstellen oder bearbeiten Sie dann eine öffentliche Systemansicht.
  3. Nennen Sie die Ansicht Power Pages Web-API-Spalten.
  4. Fügen Sie der Ansicht die Spalten hinzu, die Ihre Website benötigt, und speichern und veröffentlichen Sie dann die Ansicht.
  5. Erstellen Sie in der Portalverwaltungs-App die Webapi/<table-name>/UseFieldsFromView Websiteeinstellung für die Website, und legen Sie den Wert auf True.
  6. Bestätigen Sie, dass Webapi/<table-name>/enabled auf True festgelegt ist.

Anmerkung

  • Es sind nur die Spalten aus der Primärtabelle enthalten, die in der Ansicht angezeigt werden. Spalten aus verknüpften Tabellen sind nicht enthalten. Spalten, die nur zum Filtern oder Sortieren verwendet werden, werden nicht einbezogen, es sei denn, sie werden auch in der Ansicht angezeigt.
  • Verwenden Sie für Suchspalten die entsprechende OData-Lookupeigenschaft in Web-API-Anforderungen. Der Eigenschaftsname verwendet das Format _<column-logical-name>_value. Zum Beispiel wird die primarycontactid Nachschlagespalte als _primarycontactid_value zurückgegeben.
  • Änderungen an der Systemansicht können bis zu fünf Minuten dauern, bis sie der Web-API zur Verfügung stehen.

Wenn beide Webapi/<table-name>/fields und Webapi/<table-name>/UseFieldsFromView konfiguriert sind, kombiniert die Web-API die in Webapi/<table-name>/fields aufgeführten Spalten mit den berechtigten Spalten aus der Systemansicht „Power Pages Web-API-Spalten“ für diese Tabelle.

Wichtig

  • Die Webapi/<table-name>/UseFieldsFromView Websiteeinstellung ist in Power Pages Websiteversion 9.8.8.x und höher verfügbar.
  • Die Unterstützung für den Wildcardwert (*) in Webapi/<table-name>/fields ist veraltet. Verwenden Sie explizite Spaltennamen, die Systemansicht Power Pages Web API Columns oder beides.

Sicherheit mit der portal Web API

Sie können die datensatzbasierte Sicherheit für einzelne Datensätze in Portalen mithilfe von Tabellenberechtigungen konfigurieren. Die Portal-Web-API greift auf Tabelleneinträge (Entitäten) zu und folgt den Tabellenberechtigungen, die Benutzern über die zugeordnete Webrolle erteilt werden.

Sie können Spaltenberechtigungen so konfigurieren, dass berechtigungen für einzelne Spalten innerhalb einer Tabelle weiter definiert werden, während Sie die Portalweb-API verwenden.

Authentifizieren von Web-API-Anforderungen für das Portal

Sie müssen keinen Authentifizierungscode angeben, da die Anwendungssitzung die Authentifizierung und Autorisierung verwaltet. Alle Web-API-Aufrufe müssen ein CSRF-Token (websiteübergreifende Anforderungsfälschung) enthalten.

Verwenden von EntitySetName

Wenn Sie auf Dataverse-Tabellen verweisen, indem Sie die Portalweb-API in Ihrem Code verwenden, verwenden Sie "EntitySetName". Um auf die Tabelle account zuzugreifen, verwendet die Codesyntax z. B. den EntitySetName von accounts; /_api/accounts().

Anmerkung

Verwenden Sie den logischen Namen der Tabelle für Websiteeinstellungen (zum Beispiel account).

Führen Sie die folgenden Schritte aus, um den EntitySetName von bestimmten Tabellen zu ermitteln:

  1. Zu https://make.powerapps.com wechseln

  2. Wählen Sie im Seitenbereich die Registerkarte Dataverse und dann die Tabelle aus.

  3. Wählen Sie die Option ... (Befehlsoption) und dann "Erweitert", " Extras" und " Name der Entitätsmenge kopieren " aus, um den EntitySetName der Tabelle in die Zwischenablage zu kopieren.

    So finden Sie den EntitySetName einer Dataverse-Tabelle.

Datenschutzgesetze und -vorschriften

Alle Request-Header verwenden eine Kontakt-ID für Prüfzwecke. Für einen anonymen Benutzer lautet nullder Wert .

Wenn die Überwachungsprotokollierung aktiviert ist, kann ein Benutzer alle Überwachungsereignisse im Office 365-Überwachungsprotokoll anzeigen.

Screenshot des Office 365-Überwachungsprotokolls.

Weitere Informationen:
Aktivieren und verwenden Sie die Aktivitätsprotokollierung
Exportieren, konfigurieren und betrachten Sie Datensätze des Audit-Protokolls

Nicht unterstützte Konfigurationstabellen

Sie können die Portalweb-API nicht für die folgenden Konfigurationstabellen verwenden:

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

Einschränkungen

Benutzerdefinierte Aktivitätstabellen erben Basisspalten (z. B. subject, description, activityid und createdon) aus der activitypointer Tabelle. Wenn Sie Web-API-Spalten für eine benutzerdefinierte Aktivitätstabelle mithilfe von Webapi/<table-name>/fields, der Systemansicht „Power Pages Web-API-Spalten“ oder $select konfigurieren, schließen Sie mindestens eine Spalte ein, die direkt in dieser Tabelle definiert ist, nicht nur geerbte Spalten.

Wenn Sie nur geerbte activitypointer Spalten konfigurieren, kann die Web-API keine tabellenspezifische Spaltenauswahl erkennen. Daher behandelt sie die Anforderung als Platzhalter (*) und gibt den folgenden Fehler zurück, auch wenn Sie Felder explizit konfigurieren: Attribute All Columns is not enabled for Web Api.

Empfehlung: Fügen Sie mindestens eine Spalte, die direkt in der benutzerdefinierten Aktivitätstabelle definiert ist, z. B. Portalkommentare/adx_portalcomment, zusammen mit allen geerbten Spalten ein.

Bekannte Probleme

Benutzer erhalten einen CDS-Fehler, wenn sie eine GET Web-API-Anforderung für Tabellen aufrufen, die mehrere Ebenen von 1:n- oder n:n-Tabellenberechtigungen aufweisen, wenn Übergeordnet-, Kontakt- oder Kontobereiche der Abfrage weitere Bedingungen hinzufügen.

Verwenden Sie FetchXML in der OData-Abfrage, um dieses Problem zu beheben.

Nächster Schritt

Daten über die Portale-Web-API abfragen