Opis internetowego interfejsu API portali
Uwaga
12 października 2022 r. funkcja Portale usługi Power Apps została przekształcona w usługę Power Pages. Więcej informacji: Usługa Microsoft Power Pages jest teraz ogólnie dostępna (blog)
Wkrótce zmigrujemy i scalimy dokumentację funkcji Portale usługi Power Apps z dokumentacją usługi Power Pages.
Web API portali umożliwia bogatsze doświadczenie użytkownika na stronach portali Power Apps. Za pomocą internetowego interfejsu API można wykonywać operacje tworzenia, odczytywania, aktualizowania i usuwania we wszystkich tabelach Microsoft Dataverse ze stron portali. Na przykład można utworzyć nowe konto, zaktualizować kontakt lub zmienić uprawnienia tabeli dla produktu, używając interfejsu API sieci Web portali, a nie aplikacji Zarządzanie portalami.
Uwaga
Możesz także użyć Web API portali w Power Pages. Więcej informacji: Co to jest Power Pages
Ważne
- Aby ta funkcja działała, trzeba mieć wersję portali 9.3.3.x lub nowszą.
- Interfejs API sieci Web portali jest przeznaczony do tworzenia bogatego środowiska użytkownika na stronach portalu. Nie jest zoptymalizowany pod kątem integracji usług lub aplikacji innych firm. Używanie interfejsu API sieci Web portali w celu integrowania ich z innymi portalami Power Apps nie jest obsługiwane.
- Operacje interfejsu API sieci Web portali ograniczone są do tabel powiązanych z danymi—na przykład konta, kontakty lub tabele niestandardowe. Konfigurowanie metadanych tabeli lub danych tabeli konfiguracji portalu—na przykład konfigurowanie tabel portali, takich jak adx_contentsnippet, adx_entityform lub adx_entitylist—nie jest obsługiwane za pomocą interfejsu API sieci Web portali. Pełną listę można uzyskać w nieobsługiwanych tabelach konfiguracji, w dalszej części tego temat.
- Interfejs API sieci Web portali korzysta z buforowania po stronie serwera, więc kolejne wywołania interfejsu API sieci Web 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 API sieci Web portali wymagają licencji portali Power Apps. Na przykład wywołania interfejsu API sieci Web wprowadzone przez użytkowników anonimowych są liczone w celu osiągnięcia wydajności widoku strony. Wywołania interfejsu API sieci Web wprowadzone przez użytkowników uwierzytelnionych (wewnętrznych lub zewnętrznych) nie są liczone w celu wyświetlenia stron, ale wymagają odpowiednich licencji. Więcej informacji: Power Apps — często zadawane pytania na temat licencjonowania portali
Operacje interfejsu API sieci Web
Interfejs API sieci Web Portal udostępnia podzbiór funkcji przeznaczonych do wykonywania operacji Dataverse, które można wykonać przy użyciu interfejsu API Dataverse. W celu zredukowania krzywej szkoleniowej zachowamy tak zbliżony format interfejsu API.
Uwaga
W operacjach interfejsu API sieci Web jest znacząca wielkość liter.
Operacje interfejsu API sieci Web dostępne w portalach
- Odczytywanie rekordów z tabeli
- Utwórz rekord w tabeli
- Aktualizowanie i usuwanie rekordów w tabeli
- Tworzenie i usuwanie skojarzeń tabeli
Ustawienia witryny dotyczące internetowego interfejsu API
Aby włączyć interfejs API sieci Web portali dla portalu, należy włączyć ustawienie witryny. Można również skonfigurować interfejs API sieci Web na poziomie pola, który określa pola tabeli, które można lub nie można modyfikować za pomocą internetowego interfejsu API portali.
Uwaga
Należy użyć nazwy logicznej w tabeli dla tych ustawień (na przykład klienta).
Nazwa ustawień witryny | opis |
---|---|
Webapi/<table name>/enabled | Włącza lub wyłącza interfejs Web API dla programu <table name>. Wartość domyślna: False Prawidłowe wartości: True , False |
Webapi/<table name>/fields | Definiuje listę atrybutów rozdzielanych przecinkami, które mogą być modyfikowane za pomocą internetowego interfejsu API. Możliwe wartości: - Wszystkie atrybuty: * - Określone atrybuty: attr1,attr2,attr3 Uwaga: Ta wartość musi być gwiazdą (*) lub listą nazw pól rozdzielanych przecinkami. 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. Wartość domyślna: False Prawidłowe wartości: True , False |
Webapi/<table name>/disableodatafilter | Włącza lub wyłącza filtr OData. Wartość domyślna: False Prawidłowe wartości: True , False Zobacz Znane problemy, aby uzyskać więcej informacji. Ustawienie witryny jest dostępne w portalu w wersji 9.4.10.74 lub nowszej. |
Uwaga
Aby zmiany odniosły skutek, ustawienia witryny muszą być ustawione na Aktywne.
Na przykład w celu udostępnienia interfejsu API sieci Web dla tabeli Sprawa, w której uwierzytelnieni użytkownicy mogą wykonywać operacje tworzenia, aktualizowania i usuwania dla tej encji, ustawienia witryny przedstawiono w następującej tabeli.
Nazwa ustawień witryny | Wartość ustawienia witryny |
---|---|
Webapi/incident/enabled | prawda |
Webapi/incident/fields | attr1, attr2, attr3 |
Zabezpieczenia przy użyciu interfejsu API sieci Web portali
Zabezpieczenia oparte na rekordach można konfigurować w portalach za pomocą uprawnień tabeli. Interfejs API sieci Web 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 sieci Web.
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 sieci Web portali
Nie trzeba dołączać kodu uwierzytelniającego, ponieważ uwierzytelnianie i autoryzacja są zarządzane przez sesję aplikacji. Wszystkie wywołania usługi Web API muszą zawierać token podrabiania żądania między witrynami (CSRF).
Używanie EntitySetName
Odwołując się do tabel Dataverse przy użyciu internetowego interfejsu API portali w kodzie, musisz użyć EntitySetName, na przykład, aby uzyskać dostęp do tabeli kont, składnia kodu będzie używać EntitySetName kont; /_api/accounts()
.
Uwaga
Należy użyć nazwy logicznej w tabeli dla tych ustawień witryny (na przykład klienta).
Nazwę EntitySetName określonych tabel można określić, wykonać następujące kroki:
Przejdź do usługi https://make.powerapps.com
Wybierz kartę Dataverse z panelu bocznego i wybierz tabelę.
Wybierz opcję ... (opcja Polecenia), a następnie wybierz nazwę zestawu Zaawansowane, Narzędzia i Kopiuj ustawioną nazwę, aby skopiować nazwę EntitySetName tabeli do schowka.
Ogólne rozporządzenie o ochronie danych (GDPR)
Wszystkie nagłówki żądań będą miały identyfikator kontaktu przekazany do celów inspekcji. W przypadku użytkownika anonimowego zostanie ono przekazane jako null
.
Jeśli włączone jest rejestrowanie inspekcji, użytkownik może zobaczyć wszystkie zdarzenia inspekcji w dzienniku inspekcji 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
Interfejs API sieci Web portali nie może być używany w następujących tabelach konfiguracji:
adx_contentaccesslevel – poziom dostępu do zawartości
adx_contentsnippet – wstawka zawartości
adx_entityform – forma encji
adx_entityformmetadata – metadane formularza encji
adx_entitylist – lista encji
adx_entitypermission – uprawnienie encji
adx_entitypermission_webrole – przyzwolenie encji, rola na stronie
adx_externalidentity – tożsamość zewnętrzna
adx_pagealert – alert dot. strony
adx_pagenotification – powiadomienie dotyczące strony
adx_pagetag – etykieta strony
adx_pagetag_webpage – etykieta strony, strona internetowa
adx_pagetemplate – szablon strony
adx_portallanguage – język portalu
adx_publishingstate – stan publikowania
adx_publishingstatetransitionrule – reguła przejścia stanu publikowania
adx_publishingstatetransitionrule_webrole – reguła przejścia stanu publikowania, rola witryny
adx_redirect – przekieruj do
adx_settings – ustawienia zawartości
adx_shortcut – skrót
adx_sitemarker – znaczniki witryn
adx_sitesetting – ustawienia strony
adx_urlhistory – historia URL
adx_webfile – plik strony
adx_webfile – plik strony dziennika
adx_webform – formularz strony
adx_webformmetadata – metadane formularza strony
adx_webformsession – sesja strony
adx_webformstep – formularz strony, krok
adx_weblink – link do strony
adx_weblink – zestaw linków do strony
adx_webnotificationentity – encja powiadomienia sieci Web
adx_webnotificationurl – powiadomienie URL
adx_webpage– witryna
adx_webpage_tag – etykieta witryny
adx_webpageaccesscontrolrule – reguła kontroli dostępu do stron internetowych
adx_webpageaccesscontrolrule_webrole – reguła kontroli dostępu do stron internetowych, rola internetowa
adx_webpagehistory – historia strony internetowej
adx_webpagelog – dziennik strony
adx_webrole_systemuser – rola na stronie, użytkownik systemowy
adx_website – witryna sieci web
adx_website – lista witryn sieci web
adx_website_sponsor – sponsor strony
adx_websiteaccess – dostęp do witryn internetowych
adx_websiteaccess – dostęp do witryn internetowych, rola na stronie
adx_websitebinding – powiązanie witryny internetowej
adx_websitelanguage – język witryny internetowej
adx_webtemplate – szablon strony
Znane problemy
Użytkownicy otrzymają błąd CDS, jeśli wywołają żądanie GET
Web API dla tabel, które mają wiele poziomów od 1 do wielu lub wiele do wielu uprawnienia do tabeli ze zdefiniowanym zakresem nadrzędnym.
Aby rozwiązać ten problem, zalecane jest użycie pliku FetchXML w zapytaniu OData.
Alternatywnie ustaw ustawienie Webapi/<table name>/disableodatafilter na wartość True
.
Ważne
Zmiana ustawienia Webapi/<table name>/disableodatafilter na True
może spowodować, że działanie interfejsu API GET
sieci Web będzie działać szybciej.
Ustawienie witryny jest dostępne w portalu w wersji 9.4.10.74 lub nowszej.
Następny krok
Wykonywanie zapytań o dane przy użyciu interfejsu API sieci Web portali
Zobacz też
Tworzenie żądań HTTP i obsługa błędów
Portale zapisują, aktualizują i usuwają operacje za pomocą Web API
Samouczek: Używanie internetowego interfejsu API portali
Uwaga
Czy możesz poinformować nas o preferencjach dotyczących języka dokumentacji? Wypełnij krótką ankietę. (zauważ, że ta ankieta jest po angielsku)
Ankieta zajmie około siedmiu minut. Nie są zbierane żadne dane osobowe (oświadczenie o ochronie prywatności).