Opis internetowego interfejsu API portali

Web API portali umożliwia bogatsze doświadczenie użytkownika na stronach witryn Power Pages. Za pomocą internetowego interfejsu API można wykonywać operacje tworzenia, odczytywania, aktualizowania i usuwania we wszystkich tabelach Microsoft Dataverse ze stron witryn. Można na przykład utworzyć nowe konto lub zaktualizować kontakt bez użycia formularza lub formularza wieloetapowego przy użyciu internetowego interfejsu API portali.

Interfejs Web API używa trasy /_api (na przykład https://yoursite.powerappsportals.com/_api/accounts) i jest zgodny z wzorcem RESTful podobnym do interfejsu Web API usługi Dataverse.

Ważne

  • Interfejs Web API portali jest przeznaczony do tworzenia zaawansowanego interfejsu użytkownika na stronach portalu. Nie jest zoptymalizowany pod kątem integracji usług lub aplikacji innych firm. Integrowanie z innymi witrynami Power Pages przy użyciu internetowego interfejsu API portali nie jest obsługiwane.
  • Operacje internetowego interfejsu API portali ograniczone są do tabel powiązanych z danymi — na przykład konta, kontakty lub tabele niestandardowe. Konfigurowanie danych tabeli metadanych lub tabeli konfiguracji portalu — na przykład konfigurowanie tabel portali, takich jak adx_contentsnippet, adx_entityform lub adx_entitylist — nie jest obsługiwane przy użyciu internetowego interfejsu API portali. Aby uzyskać pełną listę, zobacz nieobsługiwane tabele konfiguracji w dalszej części tego artykułu.
  • Internetowy interfejs API portali korzysta z buforowania po stronie serwera, więc kolejne wywołania internetowego interfejsu API są szybsze niż początkowe wywołania. Należy zauważyć, że wyczyszczenie pamięci podręcznej serwera portalu powoduje tymczasowe obniżenie wydajności.
  • Operacje interfejsu Portals Web API wymagają licencji Power Pages. Na przykład wywołania internetowego interfejsu API wykonywane przez anonimowych użytkowników są liczone do pojemności użytkownika anonimowego. Wywołania internetowego interfejsu API wykonywane przez uwierzytelnionych użytkowników (wewnętrznych lub zewnętrznych) nie są uwzględniane w widokach stron, ale wymagają odpowiednich uwierzytelnionych licencji pojemności użytkownika. Aby uzyskać więcej informacji, zobacz często zadawane pytania dotyczące licencjonowania Power Pages.
  • Wywoływanie akcji i funkcji przy użyciu internetowego interfejsu API portali nie jest obsługiwane.

Operacje interfejsu API sieci Web

Internetowy interfejs API portali oferuje podzestaw możliwości operacji Dataverse, które można wykonać za pomocą interfejsu API usługi Dataverse. Format interfejsu API jest jak najbardziej podobny, aby zmniejszyć krzywą uczenia.

Uwaga

W operacjach internetowego interfejsu API jest uwzględniana wielkość liter.

Operacje Web API dostępne w usłudze Power Pages

Ustawienia witryny dotyczące internetowego interfejsu API

Ważne

Obsługa wartości wieloznacznych (*) w Webapi/<table-name>/fields ustawieniu witryny jest przestarzała.

Zastąp ciąg * przecinkami rozdzielaną przecinkami kolumnami wymaganymi przez witrynę. Power Pages żądania internetowego interfejsu API dla tabel skonfigurowanych z * niepowodzeniem do momentu skonfigurowania jawnych nazw kolumn.

Aby włączyć internetowy interfejs API portalu dla portalu, włącz ustawienie witryny. Można również skonfigurować internetowy interfejs API na poziomie pola, który określa pola tabeli, które użytkownicy mogą lub nie mogą modyfikować przy użyciu internetowego interfejsu API portali.

Uwaga

Użyj nazwy logicznej tabeli dla tych ustawień (na przykład konta).

Nazwa ustawień witryny Opis
Webapi/<nazwa tabeli>/włączone Włącza lub wyłącza interfejs Web API dla <table name>.
Domyślny:False
Prawidłowe wartości:True, False
Webapi/<nazwa tabeli>/pola Definiuje rozdzielaną przecinkami listę atrybutów, które użytkownicy mogą modyfikować przy użyciu internetowego interfejsu API.
Możliwe wartości:
- Określone atrybuty:attr1,attr2,attr3
Ważne: to jest obowiązkowe ustawienie witryny. W przypadku braku tego ustawienia pojawi się błąd „Nie zdefiniowano pól dla tej encji”.
Webapi/error/innererror Włącza lub wyłącza InnerError.
Domyślny:False
Prawidłowe wartości:True, False

Aby na przykład uwidocznić internetowy interfejs API dla tabeli Przypadków, w której uwierzytelnieni użytkownicy mogą tworzyć, aktualizować i usuwać rekordy dla tej jednostki, użyj ustawień witryny przedstawionych w poniższej tabeli.

Nazwa ustawień witryny Wartość ustawienia witryny
Webapi/incident/enabled prawda
Webapi/incident/fields attr1, attr2, attr3

Zabezpieczenia przy użyciu internetowego interfejsu API portali

Zabezpieczenia oparte na rekordach można skonfigurować dla poszczególnych rekordów w portalach przy użyciu uprawnień tabeli. Internetowy interfejs API portali uzyskuje dostęp do rekordów tabeli (encji) i postępuje zgodnie z uprawnieniami do tabeli nadawanych użytkownikom za pośrednictwem skojarzonej roli Internet.

Podczas korzystania z interfejsu API sieci Web portali można skonfigurować uprawnienia kolumn w celu dalszego definiowania uprawnień do poszczególnych kolumn w tabeli.

Uwierzytelnianie żądań interfejsu API portali w sieci Web

Nie ma potrzeby dołączania kodu uwierzytelniającego, ponieważ sesja aplikacji zarządza uwierzytelnianiem i autoryzacją. Wszystkie wywołania Web API muszą zawierać token CSRF (Cross-Site Request Forgery).

Używanie elementu EntitySetName

W przypadku odwoływania się do tabel Usługi Dataverse przy użyciu internetowego interfejsu API portali w kodzie użyj elementu EntitySetName. Aby uzyskać dostęp do tabeli kont , na przykład składnia kodu używa nazwy EntitySetName kont; /_api/accounts().

Uwaga

Użyj logicznej nazwy tabeli dla ustawień witryny (na przykład account).

Aby określić nazwę EntitySetName określonych tabel, wykonaj następujące kroki:

  1. Przejdź do https://make.powerapps.com

  2. Wybierz kartę Dataverse z panelu bocznego i wybierz tabelę.

  3. Wybierz opcję ... (Polecenia), a następnie wybierz pozycję Zaawansowane, Narzędzia i Skopiuj nazwę zestawu , aby skopiować nazwę EntitySetName tabeli do schowka.

    Jak znaleźć właściwość EntitySetName tabeli w Dataverse.

Prawa i przepisy dotyczące prywatności

Wszystkie nagłówki żądań używają identyfikatora kontaktu do celów inspekcji. W przypadku użytkownika anonimowego wartość to null.

Jeśli włączone jest rejestrowanie inspekcji, użytkownik może zobaczyć wszystkie zdarzenia inspekcji w dzienniku inspekcji Office 365.

Zrzut ekranu dziennika audytu Office 365.

Więcej informacji:
Włączanie funkcji Rejestrowanie działań i korzystanie z niej
Eksportowanie, Konfigurowanie i wyświetlanie rekordów dziennika inspekcji

Nieobsługiwane tabele konfiguracji

Internetowy interfejs API portali nie może być używany w następujących tabelach konfiguracji:

adx_contentaccesslevel – poziom dostępu do zawartości

adx_contentsnippet – fragment zawartości

adx_entityform

adx_entityformmetadata

adx_entitylist

adx_entitypermission

adx_entitypermission_webrole

adx_externalidentity

adx_pagealert

adx_pagenotification – powiadomienie dotyczące strony

adx_pagetag – etykieta strony

adx_pagetag_webpage

adx_pagetemplate – szablon strony

adx_portallanguage – język portalu

adx_publishingstate – stan publikowania

adx_publishingstatetransitionrule – reguła przejścia stanu publikowania

adx_publishingstatetransitionrule_webrole

adx_redirect

adx_setting

adx_shortcut

adx_sitemarker – znaczniki witryn

adx_sitesetting – ustawienia strony

adx_urlhistory

adx_webfile

adx_webfilelog

adx_webform – formularz strony

adx_webformmetadata – metadane formularza strony

adx_webformsession

adx_webformstep

adx_weblink – link do strony

adx_weblinkset

adx_webnotificationentity

adx_webnotificationurl

adx_webpage

adx_webpage_tag – etykieta witryny

adx_webpageaccesscontrolrule – reguła kontroli dostępu do stron internetowych

adx_webpageaccesscontrolrule_webrole

adx_webpagehistory – historia strony internetowej

adx_webpagelog – dziennik strony

adx_webrole_systemuser

adx_website – witryna sieci web

adx_website_list

adx_website_sponsor

adx_websiteaccess – dostęp do witryn internetowych

adx_websiteaccess – dostęp do witryn internetowych, rola na stronie

adx_websitebinding

adx_websitelanguage – język witryny internetowej

adx_webtemplate – szablon strony

Znane problemy

Użytkownicy otrzymują błąd CDS, jeśli wywołają żądanie internetowego interfejsu API GET dla tabel, które mają wiele poziomów 1 do wielu lub wiele do wielu (uprawnienia) do tabeli, gdy zakresy Nadrzędne, **Kontakt lub Konto dodają więcej warunków do zapytania.

Aby rozwiązać ten problem, użyj narzędzia FetchXML w zapytaniu OData.

Następny krok

Wykonywanie zapytań o dane przy użyciu interfejsu API sieci Web portali