Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
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
- Datensätze aus einer Tabelle lesen
- Erstellen eines Datensatzes in einer Tabelle
- Datensätze in einer Tabelle aktualisieren und löschen
- Tabellen assoziieren und disassoziieren
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.
- Öffnen Sie in Power Pages Design Studio den Arbeitsbereich „Daten“.
- Wählen Sie die Tabelle aus, wählen Sie die Registerkarte Ansichten aus, und erstellen oder bearbeiten Sie dann eine öffentliche Systemansicht.
- Nennen Sie die Ansicht Power Pages Web-API-Spalten.
- Fügen Sie der Ansicht die Spalten hinzu, die Ihre Website benötigt, und speichern und veröffentlichen Sie dann die Ansicht.
- Erstellen Sie in der Portalverwaltungs-App die
Webapi/<table-name>/UseFieldsFromViewWebsiteeinstellung für die Website, und legen Sie den Wert aufTrue. - Bestätigen Sie, dass
Webapi/<table-name>/enabledaufTruefestgelegt 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 dieprimarycontactidNachschlagespalte als_primarycontactid_valuezurü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>/UseFieldsFromViewWebsiteeinstellung ist in Power Pages Websiteversion 9.8.8.x und höher verfügbar. - Die Unterstützung für den Wildcardwert (
*) inWebapi/<table-name>/fieldsist 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:
Zu https://make.powerapps.com wechseln
Wählen Sie im Seitenbereich die Registerkarte Dataverse und dann die Tabelle aus.
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.
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.
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