Rozpocznij pracę z wtyczką Power Pages dla GitHub Copilot CLI i Claude Code (wersja zapoznawcza)

Wtyczka Power Pages dla GitHub Copilot CLI i Claude Code zapewnia wspomagany sztuczną inteligencją przepływ pracy do tworzenia, wdrażania i zarządzania nowoczesnymi witrynami jednostronicowymi aplikacjami (SPA) w usłudze Power Pages. Zamiast ręcznie utworzyć szkielet projektów, napisać standardowy kod interfejsu API i skonfigurować uprawnienia, opisz, co chcesz w języku naturalnym, a wtyczka obsługuje implementację.

Wtyczka obsługuje pełny cykl życia tworzenia witryn dzięki umiejętnościom konwersacyjnym, od tworzenia szkieletu nowej witryny do wdrażania jej, konfigurowania modeli danych usługi Dataverse i konfigurowania uwierzytelniania.

Ważna

  • Ta funkcja jest dostępna w wersji zapoznawczej.
  • Funkcje w wersji zapoznawczej nie są przeznaczone do użytku w środowiskach produkcyjnych i mogą mieć ograniczoną funkcjonalność. Te funkcje są udostępniane przed oficjalnym wydaniem, dzięki czemu klienci mogą szybciej uzyskać do nich dostęp i przekazać opinie na ich temat.
  • Przegląd propozycji agentów przed zatwierdzeniem

Wymagania wstępne

Przed rozpoczęciem sprawdź, czy masz wymagane oprogramowanie i uprawnienia.

Wymagania dotyczące oprogramowania

Składnik Minimalna wersja Więcej informacji
Node.js 18.0 lub nowszy Pobieranie Node.js
Interfejs wiersza polecenia platformy Power Platform CLI (interfejs wiersza polecenia PAC) 2.6.3 lub nowsza wersja (wymagana dla logiki serwera) Zainstaluj PAC CLI
Azure CLI Latest Install Azure CLI
GitHub Copilot CLI lub Claude Code Latest GitHub Copilot CLI lub Claude Code
Rozszerzenie Visual Studio Code oraz Power Platform Tools (opcjonalne) Latest Pobierz VS Code i Zainstaluj narzędzia Power Platform

Potrzebne są również następujące elementy:

  • Środowisko Power Platform z włączoną funkcją Power Pages.
  • Uwierzytelniona sesja PAC CLI połączona ze środowiskiem docelowym. Uruchom polecenie pac auth create , jeśli jeszcze nie nawiązaliśmy połączenia.
  • Sesja interfejsu wiersza polecenia platformy Azure zalogowana do tej samej dzierżawy. Uruchom az login, aby się uwierzytelnić.

Weryfikowanie uwierzytelniania:

Sprawdź, czy uwierzytelniasz się przy użyciu pac auth list polecenia .

pac auth list           # Should show authenticated profile

Jeśli nie jesteś uwierzytelniony, uruchom następujące polecenie:

pac auth create --environment <Instance url>        # Authenticate to Power Platform

Wskazówka

Aby uzyskać adres URL wystąpienia, przejdź do strony głównej usługi Power Pages, wybierz ikonę Ustawienia w prawym górnym rogu, a następnie wybierz pozycję Szczegóły sesji.

Instalowanie wtyczki

Zainstaluj wtyczkę Power Pages z witryny Marketplace. Jeśli używasz interfejsu wiersza polecenia GitHub Copilot, zapoznaj się z dokumentacją rozszerzeń interfejsu wiersza polecenia Copilot aby zapoznać się z równoważnymi krokami instalacji. Następujące polecenia używają składni Claude Code.

Uruchom instalatora, aby skonfigurować wszystkie wtyczki z włączoną funkcją autoaktualizacji:

Windows (PowerShell):

iwr https://raw.githubusercontent.com/microsoft/power-platform-skills/main/scripts/install.js -OutFile install.js; node install.js; del install.js

macOS/Linux/Windows (cmd):

curl -fsSL https://raw.githubusercontent.com/microsoft/power-platform-skills/main/scripts/install.js | node

Instalator automatycznie:

  • Instaluje pac CLI, jeśli nie jest jeszcze zainstalowany.
  • Wykrywa dostępne narzędzia, takie jak Claude Code i GitHub Copilot CLI.
  • Rejestruje witrynę Marketplace wtyczek i instaluje wszystkie wymienione wtyczki.
  • Włącza funkcję autoaktualizacji, dzięki czemu wtyczki pozostają aktualne.

Po zakończeniu instalacji uruchom ponownie program Claude Code lub interfejs wiersza polecenia GitHub Copilot, aby uzyskać dostęp do umiejętności wtyczki jako polecenia zaczynające się od znaku ukośnika w sesji twojego agenta.

Instalowanie z witryny Marketplace

  1. Otwórz program Claude Code w terminalu.

  2. Dodaj witrynę Microsoft Marketplace:

    /plugin marketplace add microsoft/power-platform-skills
    
  3. Zainstaluj wtyczkę Power Pages:

    /plugin install power-pages@power-platform-skills
    

Po zakończeniu instalacji uruchom ponownie program Claude Code lub CLI GitHub Copilot, aby uzyskać dostęp do umiejętności wtyczki jako polecenia zaczynające się od znaku ukośnika w sesji twojego agenta.

Wskazówka

Aby automatycznie otrzymywać aktualizacje w sklepie i funkcjach, włącz automatyczną aktualizację. Użyj polecenia /plugin, przejdź do Rynki, wybierz rynek i włącz automatyczne aktualizacje.

Omówienie umiejętności

Wtyczka zapewnia umiejętności, które obejmują pełny cykl życia witryny Power Pages. Wywołaj każdą umiejętność w sposób konwersacyjny, używając polecenia ukośnikowego lub opisując, co chcesz zrobić.

Kwalifikacje Komenda Do czego służy
Utwórz witrynę /create-site Tworzenie szkieletu witryny, zastosowanie kierunku projektowego oraz budowanie stron i komponentów
Wdrażanie witryny /deploy-site Kompiluje projekt i przesyła go do Power Pages przy użyciu PAC CLI
Aktywowanie witryny /activate-site Tworzy rekord strony internetowej i przypisuje publiczny adres URL
Konfigurowanie modelu danych /setup-datamodel Tworzy tabele, kolumny i relacje w usłudze Dataverse
Dodawanie przykładowych danych (opcjonalnie) /add-sample-data Wypełnia tabele Dataverse realistycznymi rekordami testowymi
Integracja webowego interfejsu API /integrate-webapi Generuje typowany kod klienta interfejsu API, usługi i uprawnienia tabeli
Konfigurowanie uwierzytelniania /setup-auth Dodaje funkcje logowania i wylogowywania oraz kontrolę dostępu opartą na rolach.
Tworzenie ról sieci Web /create-webroles Generuje pliki YAML roli internetowej na potrzeby zarządzania dostępem użytkownika
Dodawanie logiki serwera /add-server-logic Generuje bezpieczne serwerowe punkty końcowe JavaScript do walidacji, wywołań zewnętrznych interfejsów API, zarządzania tajemnicami i operacji na danych.
Dodawanie przepływu w chmurze /add-cloud-flow Integruje istniejące w chmurze przepływy Power Automate z Twoją platformą dla potrzeb przepływów zatwierdzania, powiadomień i zaplanowanej automatyzacji.
Integrowanie zaplecza /integrate-backend Analizuje prototyp, określa właściwe podejście (internetowy interfejs API, logikę serwera lub przepływ chmury) dla każdej funkcji i organizuje pełną sekwencję kompilacji
Dodawanie funkcji SEO /add-seo Generuje robots.txt, sitemap.xml oraz tagi meta

Typowy przepływ pracy

Typowy pełny przepływ pracy jest zgodny z następującą sekwencją:

  1. /create-site: twórz podstawy, projektuj i buduj strony
  2. /deploy-site : Prześlij do środowiska Power Pages
  3. /activate-site : Konfigurowanie publicznego adresu URL
  4. /setup-datamodel : Tworzenie tabel dataverse
  5. /add-sample-data : Wypełnianie tabel rekordami testowymi
  6. /integrate-webapi : Generowanie kodu klienta interfejsu API i konfigurowanie uprawnień
  7. /create-webroles: Zdefiniuj role dostępu
  8. /setup-auth : Dodaj interfejs użytkownika do logowania, wylogowania i oparty na rolach
  9. /add-server-logic : Dodawanie bezpiecznych punktów końcowych po stronie serwera
  10. /add-cloud-flow: Integrowanie istniejących przepływów Power Automate
  11. /add-seo : Optymalizacja aparatu wyszukiwania
  12. /deploy-site: publikuj ostateczne zmiany na żywo

Wskazówka

  • Nie musisz przestrzegać tej dokładnej kolejności. Każda umiejętność sprawdza własne wymagania wstępne i informuje, czy brakuje czegoś. Na przykład, możesz uruchomić /setup-auth przed /integrate-webapi, jeśli strona wymaga uwierzytelniania najpierw.
  • Jeśli nie jesteś pewien, które podejście zastosować do każdej funkcji, uruchom /integrate-backend zamiast kroków od 4 do 10 pojedynczo. Analizuje prototyp, określa, czy każda funkcja potrzebuje internetowego interfejsu API, logiki serwera, czy przepływu w chmurze, i organizuje umiejętności w odpowiedniej kolejności.

Zbuduj swoją witrynę Power Pages

Ten przewodnik obejmuje pełny cykl życia tworzenia strony Power Pages za pomocą wtyczki — od przygotowania szablonu po wdrożenie. Każdy krok opisuje, co mówisz i co wtyczka robi w odpowiedzi.

Krok 1. Tworzenie witryny

Opisz witrynę w języku naturalnym: zawartość strony, której potrzebuje, oraz wszelkie preferencje projektowe, takie jak schemat kolorów, styl układu lub czcionki. Uruchom /create-site lub opisz witrynę, a wtyczka rozpoznaje intencję.

Jeśli nie określisz struktury, wtyczka poprosi Cię o wybranie jednej (React, Vue, Angular lub Astro), a następnie:

  1. Tworzy szkielet projektu z szablonu i zastosowuje nazwę witryny, kolory oraz znaczniki projektowe.
  2. Instaluje zależności, uruchamia serwer deweloperów i otwiera podgląd przeglądarki na żywo.
  3. Tworzy każdą stronę, składnik i trasę żądaną przy użyciu odpowiednich obrazów.
  4. Tworzy zatwierdzenia git przy znaczących kamieniach milowych, dzięki czemu masz wbudowaną historię cofania zmian.

Krok 2. Wdrażanie witryny

Uruchom /deploy-site, aby przesłać witrynę do Power Pages. Wtyczka:

  1. Sprawdza, czy PAC CLI jest zainstalowane, a sesja uwierzytelniania jest aktywna.
  2. Potwierdza z Tobą środowisko docelowe przed kontynuowaniem.
  3. Uruchamia kompilację produkcyjną i przekazuje skompilowane dane wyjściowe.
  4. Tworzy katalog artefaktów wdrożenia, jeśli jeszcze nie istnieje.

Note

Jeśli środowisko blokuje niektóre załączniki plików, wtyczka wykryje problem i zawiera instrukcje dotyczące jego rozwiązania.

Krok 3. Aktywowanie witryny

Uruchom polecenie /activate-site , aby udostępnić witrynę publicznie. Wtyczka:

  1. Sugeruje poddomenę na podstawie nazwy witryny i umożliwia jej dostosowanie.
  2. Udostępnia dane witryny internetowej za pośrednictwem interfejsu API Power Platform.
  3. Sondaż trwa do momentu uruchomienia strony i wyświetlenia publicznego adresu URL.

Na tym etapie masz witrynę roboczą pod publicznym adresem URL. Pozostałe kroki obejmują dodanie danych, uwierzytelniania oraz SEO. Pomiń wszystkie kroki, które nie mają zastosowania do witryny.

Krok 4. Konfigurowanie modelu danych

Uruchom polecenie /setup-datamodel , aby utworzyć tabele usługi Dataverse, których potrzebuje witryna. Jeśli masz już diagram ER lub określony schemat, podaj go bezpośrednio zamiast agenta analizować kod.

Wtyczka uruchamia agenta architekta modelu danych, który:

  1. Analizuje kod witryny, aby określić, jakich danych wymagają strony i składniki.
  2. Wysyła zapytania do środowiska Dataverse dla istniejących tabel, aby uniknąć duplikatów.
  3. Proponuje model danych z tabelami, kolumnami, typami danych i relacjami, wizualizowany jako diagram ER.

Przeglądasz i zatwierdzasz propozycję. Wtyczka nie tworzy niczego, dopóki nie potwierdzisz. Po zatwierdzeniu wtyczka tworzy tabele i kolumny za pomocą wywołań interfejsu API i zapisuje plik manifestu używany przez kroki 5 i 6.

Krok 5. Dodawanie przykładowych danych (opcjonalnie)

Uruchom polecenie /add-sample-data , aby wypełnić tabele rekordami testowymi. Ten krok wymaga modelu danych z kroku 4.

Wtyczka wykonuje następujące akcje:

  1. Odczytuje manifest, aby zrozumieć tabele, kolumny i relacje.
  2. Generuje kontekstowo odpowiednie wartości dla każdego typu kolumny, takie jak realistyczne wiadomości e-mail, wiarygodne daty i sformatowane kwoty waluty.
  3. Wstawia rekordy w kolejności zależności (tabele nadrzędne przed tabelami podrzędnymi) i odświeża tokeny uwierzytelniania automatycznie podczas wstawiania zbiorczego.

Krok 6. Integracja z internetowym interfejsem API usługi Dataverse

Uruchom polecenie /integrate-webapi , aby zastąpić pozorne dane dynamicznymi zapytaniami usługi Dataverse. Ten krok wymaga modelu danych z kroku 4.

Wtyczka wykonuje następujące akcje:

  1. Skanuje kod źródłowy w poszukiwaniu składników, które wykorzystują dane testowe, wywołania pobierania symboli zastępczych lub tablice zakodowane na stałe. Mapuje te składniki na tabele Dataverse.
  2. Uruchamia agenta interfejsu API sieci Web dla każdej tabeli, która generuje:
    • Udostępniony klient API z zarządzaniem tokenami antyfałszerskimi i logiką ponawiania prób.
    • Typy jednostek TypeScript i mapery domen.
    • Warstwa usługi CRUD.
    • Wzorce struktury, takie jak elementy hook React, komponenty Vue lub usługi Angular.
  3. Wyzwala agenta Permissions Architect, który proponuje uprawnienia tabel i ustawienia witryny.

Przeglądasz i zatwierdzasz propozycję uprawnień. Wtyczka nie tworzy żadnych plików konfiguracji do momentu potwierdzenia.

Krok 7. Tworzenie ról sieci Web

Uruchom /create-webroles, aby zdefiniować role dostępu użytkownika. Wtyczka:

  1. Przeszukuje środowisko w poszukiwaniu istniejących ról webowych, aby uniknąć duplikatów.
  2. Generuje definicje ról z unikatowymi identyfikatorami.
  3. Wymusza, że każda witryna ma co najwyżej jedną rolę anonimową i jedną uwierzytelnioną rolę.

Krok 8. Konfigurowanie uwierzytelniania

Uruchom polecenie /setup-auth , aby dodać funkcje logowania i wylogowania. Wtyczka:

  1. Generuje usługę uwierzytelniania dla przepływu Microsoft Entra ID z zarządzaniem tokenami zapobiegającymi fałszerstwom.
  2. Tworzy składnik interfejsu użytkownika logowania/wylogowania zintegrowany z układem witryny.
  3. Dodaje narzędzia kontroli dostępu oparte na rolach użytkowników, które pokazują lub ukrywają elementy interfejsu użytkownika na podstawie ról użytkownika w sieci.
  4. Wykorzystuje wzorce twojego framework (elementy hook React, komponenty Vue lub usługi Angular).

Krok 9. Dodawanie logiki serwera

Uruchom /add-server-logic, aby dodać bezpieczne serwerowe punkty końcowe do strony. Użyj Logiki Serwera, gdy witryna wymaga logiki, która nie może działać w przeglądarce, takich jak zewnętrzne wywołania interfejsu API, walidacja po stronie serwera, zarządzanie sekretami lub operacje na danych między jednostkami.

Ważna

Obsługa logiki serwera wymaga interfejsu wiersza polecenia PAC w wersji 2.6.3 lub nowszej. Użyj skryptu szybkiej instalacji , aby zaktualizować do najnowszej wersji.

Opisz potrzebne elementy w języku prostym i wtyczkę:

  1. Tworzy agenta architekta logiki serwera , który analizuje przypadek użycia i klasyfikuje jego złożoność.
  2. Proponuje projektowanie punktu końcowego, konfiguracji zabezpieczeń i wszelkie wymagane uprawnienia tabeli do przeglądu.
  3. Po zatwierdzeniu wygeneruje punkt końcowy języka JavaScript po stronie serwera pod adresem /_api/serverlogics/<name>.
  4. Tworzy usługę określonego typu po stronie klienta w celu wywołania punktu końcowego ze składników.
  5. Aktualizuje składniki w celu wywołania nowej usługi.
  6. Konfiguruje przypisania ról internetowych i uprawnienia tabeli dla punktu końcowego.

Przeglądasz i zatwierdzasz propozycję. Do momentu potwierdzenia nie zostanie wygenerowany żaden kod.

Typowe przypadki użycia:

  • Nawiązywanie połączenia z usługami zewnętrznymi. Wywołaj interfejsy API REST, Azure Functions lub usługi innych firm bez ujawniania poświadczeń. (Samouczek: interakcja z usługami zewnętrznymi)
  • Wykonywanie bezpiecznych operacji na danych. Wykonywanie zapytań, aktualizowanie lub usuwanie rekordów usługi Dataverse z spójną weryfikacją po stronie serwera. (Samouczek: interakcja z tabelami usługi Dataverse)
  • Uruchom logikę niestandardową. Agregowanie danych w różnych tabelach, wymuszanie reguł biznesowych lub obliczanie wartości pochodnych przed zwróceniem wyników do klienta.
  • Zarządzaj sekretami po stronie serwera. Przechowuj poświadczenia i klucze interfejsu API na serwerze, nigdy w kodzie klienta. (Tutorial: interakcja z Microsoft Graph i SharePoint)

Note

Uruchom /add-server-logic raz na przypadek użycia. Jeśli na przykład witryna wymaga zarówno punktu końcowego weryfikacji spisu, jak i globalnego punktu końcowego wyszukiwania, uruchom tę umiejętność dwa razy.

Krok 10. Integrowanie przepływów w chmurze

Uruchom /add-cloud-flow, aby zintegrować istniejące przepływy w chmurze Power Automate z witryną. Ta umiejętność łączy witrynę Power Pages z przepływami utworzonymi już w Power Automate. Nie tworzy nowych przepływów w chmurze.

Wtyczka:

  1. Rejestruje istniejący flow chmurowy w twojej witrynie.
  2. Generuje kod po stronie klienta, aby uruchomić przepływ z waszych stron.
  3. Obsługuje asynchroniczny stan przepływu pracy i wzorce wywołania zwrotnego.
  4. Uruchamia wymianę danych między stroną a przepływem.

Użyj /add-cloud-flow do przepływów zatwierdzania, powiadomień e-mail, zaplanowanych zadań oraz automatyzacji opartej na zdarzeniach, które lepiej obsługuje Power Automate niż punkty końcowe po stronie serwera.

Alternatywa: użyj /integrate-backend, aby zaplanować pełną warstwę usługi

Jeśli nie masz pewności, które funkcje wymagają internetowego interfejsu API, logiki serwera lub przepływu chmury, uruchom /integrate-backend zamiast ręcznie uruchomić kroki od 4 do 10. Ta umiejętność działa jako orkiestrator, który:

  1. Analizuje prototyp, aby zidentyfikować wszystkie funkcje, które wymagają warstwy usługi.
  2. Klasyfikuje każdą funkcję do odpowiedniego podejścia: internetowy interfejs API dla standardowego procesu CRUD, logika serwera na potrzeby weryfikacji po stronie serwera i zewnętrznych interfejsów API lub przepływ w chmurze na potrzeby przepływów pracy i automatyzacji zatwierdzania.
  3. Proponuje sekwencjonowany plan wykonywania ze wszystkimi umiejętnościami, zależnościami i konfiguracjami.
  4. Po zatwierdzeniu organizuje umiejętności w odpowiedniej kolejności.

Plan jest trwały, wznawiany i edytowalny. Zatrzymaj się po dowolnym kroku, aby przejrzeć wygenerowany kod lub przetestować witrynę. Wróć do miejsca, w którym skończyłeś, uruchamiając ponownie /integrate-backend.

Krok 11. Dodawanie funkcji SEO

Uruchom polecenie /add-seo , aby zoptymalizować witrynę pod kątem wyszukiwarek. Wtyczka:

  1. Odkrywa trasy na podstawie konfiguracji routera struktury.
  2. Generuje dyrektywy wyszukiwarki i mapę witryny dla wszystkich odnalezionych tras.
  3. Dodaje tagi meta: viewport, charset, description, Open Graph, Twitter Card i favicon references.

Krok 12. Wdrażanie końcowej witryny

Jeśli wykonasz jakiekolwiek opcjonalne kroki, uruchom /deploy-site ponownie, aby wypchnąć zmiany na żywo. Wtyczka uruchamia kompilację produkcyjną i przekazuje witrynę wraz ze wszystkimi artefaktami wdrażania (uprawnieniami tabeli, ustawieniami witryny, rolami internetowymi, plikami logiki serwera) do środowiska Power Pages.

Weryfikowanie witryny

Po ukończeniu tych umiejętności sprawdź, czy witryna Power Pages działa poprawnie.

  1. Przejdź do Power Pages.
  2. Znajdź witrynę na liście Aktywne witryny .
  3. Wyświetl podgląd witryny na komputerze stacjonarnym przy użyciu funkcji Podgląd.
  4. Przetestuj funkcję.

Porady i najlepsze rozwiązania

Poniższe porady ułatwiają maksymalne wykorzystanie wtyczki i agenta AI do kodowania podczas tworzenia witryn Power Pages.

Monitoruj wyniki terminala pod kątem brakujących narzędzi podczas pierwszego uruchomienia

Wtyczka zapewnia umiejętności i przepływy pracy, ale agent kodujący wspomagany sztuczną inteligencją — GitHub Copilot CLI lub Claude Code — wykonuje rzeczywiste polecenia na Twojej maszynie. Gdy używasz tych narzędzi po raz pierwszy, uważnie obserwuj dane wyjściowe terminalu. Agent kodowania sztucznej inteligencji uruchamia polecenia i skrypty w tle, a niektóre z tych poleceń zależą od narzędzi, które mogą nie być zainstalowane na maszynie. Jeśli krok zakończy się niepowodzeniem, dane wyjściowe terminalu zwykle pokazują, które narzędzie lub polecenie nie może odnaleźć.

Jeśli zostanie wyświetlony błąd podobny do command not found lub is not recognized, zainstaluj brakujące narzędzie i ponownie uruchom przepływ pracy. Agent kodowania sztucznej inteligencji kontynuuje pracę od miejsca, w którym została przerwana, gdy narzędzie jest dostępne.

Przegląd propozycji agentów przed zatwierdzeniem

Agenci architekta modelu danych i architekta uprawnień interfejsu API sieci Web przedstawiają propozycje przed wprowadzeniem zmian. Pośmiń czas na dokładne przejrzenie tych propozycji.

  • Propozycje modelu danych: sprawdź, czy nazwy tabel, typy kolumn i relacje są zgodne z wymaganiami biznesowymi. Znacznie łatwiej jest dostosować propozycję niż zmienić nazwę kolumn po wstawieniu danych.
  • Propozycje uprawnień: Sprawdź, czy każda rola ma prawidłowy poziom dostępu (tworzenie, odczytywanie, aktualizowanie, usuwanie) dla każdej tabeli. Nadmiernie permissywne uprawnienia tabeli są typowym zagrożeniem bezpieczeństwa.

Wklej błędy bezpośrednio z ich kontekstem

Jeśli coś zakończy się niepowodzeniem, niezależnie od tego, czy jest to błąd kompilacji, błąd wdrożenia, czy wyjątek środowiska uruchomieniowego w przeglądarce, skopiuj pełne dane wyjściowe błędu. Wklej go wraz z krótkim opisem tego, co robisz. Tym więcej kontekstu podajesz, tym szybciej poprawka.

Przykład: błąd kompilacji

I ran npm run build and got this error. Fix it.

error TS2339: Property 'jobTitle' does not exist on type 'JobPosting'.

  src/components/JobCard.tsx:24:31
    24   <Text>{posting.jobTitle}</Text>
                                 

Wskazówka

Uwzględnij nazwę pliku, uruchomione polecenie i oczekiwane zdarzenia. Wtyczka używa tego kontekstu do zlokalizowania problemu i zastosowania docelowej poprawki, a nie zgadywania.

Udostępnianie błędów interfejsu API z pełnym adresem URL żądania

Typowym problemem po wdrożeniu jest błąd 403 z interfejsu API Power Pages, gdy kolumna nie jest włączona dla dostępu do API. Po wystąpieniu tego błędu wklej pełny adres URL interfejsu API i pełną odpowiedź na błąd JSON. Komunikat o błędzie informuje o tym, która tabela i kolumna muszą zostać naprawione, a wtyczka może zaktualizować uprawnienia tabeli YAML i ustawienia witryny.

Przykład: Kolumna nie jest włączona dla Web API (403)

I'm getting a 403 error when the documents page loads. Here's the API call and the response. Fix the issue so this API works.

URL:
https://my-site.powerappsportals.com/_api/crd50_documents?$select=crd50_documentid,crd50_name,crd50_documentcategory,crd50_filetype,crd50_filesize,crd50_updateddate,crd50_description,_crd50_propertyid_value

Response:
{
  "error": {
    "code": "90040101",
    "message": "Attribute _crd50_propertyid_value in table crd50_document is not enabled for Web Api.",
    "innererror": {
      "code": "90040101",
      "message": "Attribute _crd50_propertyid_value in table crd50_document is not enabled for Web Api.",
      "type": "AttributePermissionIsMissing"
    }
  }
}

Ten błąd (AttributePermissionIsMissing) oznacza, że kolumna wyszukiwania _crd50_propertyid_value istnieje w tabeli Dataverse, ale nie jest wymieniona w konfiguracji uprawnień tabeli dla interfejsu Web API. Wtyczka rozwiązuje ten błąd, dodając brakującą kolumnę do pliku YAML z uprawnieniami tabeli w .powerpages-site/table-permissions/ i ponownie ją wdrażając.

Note

Publiczny interfejs API Power Pages wymaga, aby każda kolumna, która jest zwracana przez wywołanie API, została jawnie wymieniona w uprawnieniach tabeli. Właściwości wyszukiwania (z prefiksem _ i sufiksem _value) można łatwo przeoczyć, ponieważ ich nazwa interfejsu API różni się od nazwy logicznej kolumny w Dataverse. Gdy zobaczysz AttributePermissionIsMissing, zawsze dodaj tę kolumnę do uprawnień tabeli. Nie zmieniaj zapytania interfejsu API.

Bądź dokładny w tym, czego chcesz

Niejasne żądania generują niejasne wyniki. Poinformuj wtyczkę dokładnie o tym, czego potrzebujesz, łącznie z preferencjami układu, polami danych i zachowaniem.

Zamiast Spróbuj
Stwórz stronę dla ofert pracy „Utwórz stronę z ofertami pracy z paskiem wyszukiwania u góry, filtrami lokalizacji i działu oraz siatką kart pokazującą tytuł, firmę, przedział wynagrodzenia i datę publikacji każdej oferty pracy”
"Napraw styl" Karty zadań układają się pionowo na pulpicie. Umożliwia wyświetlanie ich w trójkolumnowej siatce z odstępem 16 pikseli na ekranach szerszych niż 768 pikseli"
"Dodaj dane" "Dodaj 20 przykładowych ofert pracy w czterech działach (Engineering, Marketing, Sales, HR) z realistycznymi tytułami, zakresami wynagrodzeń między $60k-$180k, a datami opublikowanymi w ciągu ostatnich 30 dni"
"Konfigurowanie interfejsu API" "Połącz składnik JobListings z tabelą cr_jobposting Dataverse. Zastąp zakodowaną na stałe tablicę prawdziwym wywołaniem API, które pobiera tytuł, dział, wynagrodzenie i datę publikacji”

Używanie zrzutów ekranu w przypadku problemów wizualnych

Gdy witryna nie wygląda prawidłowo w przeglądarce, wykonaj zrzut ekranu i wklej ją bezpośrednio do konwersacji lub podaj ścieżkę pliku. Kontekst wizualny ułatwia identyfikowanie problemów z układem, odstępami i stylami, które trudno opisać w tekście.

The header overlaps the hero section on mobile. Here's a screenshot:

[paste screenshot or provide path to screenshot file]

Fix the header so it doesn't overlap. It should be a fixed header with the content starting below it.

Iterowanie w małych krokach

Zamiast opisywać całą witrynę w jednym monicie, kompiluj przyrostowo. Zacznij od struktury i układu, a następnie dodaj funkcje pojedynczo. Takie podejście daje możliwość przejrzenia i korygowania kursu na każdym etapie.

Step 1: /create-site → Get the basic scaffold and layout right
Step 2: "Add a hero section to the home page with a search bar"
Step 3: "Add a job listings page with filter and sort"
Step 4: "Add a job detail page that shows full description"
Step 5: /setup-datamodel → Create tables now that you know the data shape
Step 6: /integrate-webapi → Wire up real data

Wskazówka

Po każdym kroku sprawdź podgląd przeglądarki. Jeśli coś nie jest w porządku, napraw to przed przejściem. Łatwiej jest rozwiązać problemy w jednym składniku niż rozwiązywać problemy na całej stronie.

Poproś o wyjaśnienie przed zatwierdzeniem

Jeśli nie masz pewności co do proponowanej zmiany, zwłaszcza w przypadku uprawnień, modyfikacji modelu danych lub konfiguracji uwierzytelniania, poproś wtyczkę o wyjaśnienie, co planuje zrobić i dlaczego przed zatwierdzeniem.

Before you create the table permissions, explain what access each role will have and why. I want to understand the security implications.

Niezależne uruchamianie umiejętności w celu odzyskania sprawności po problemach

Jeśli umiejętność kończy się niepowodzeniem, nie musisz zaczynać od nowa. Każda umiejętność działa niezależnie i może kontynuować od miejsca, w którym została przerwana. Na przykład, jeśli /integrate-webapi nie powiedzie się w trzeciej tabeli, możesz uruchomić go ponownie, a wykryje on już wykonaną pracę.

/integrate-webapi failed while processing the cr_applications table. Here's the error: [paste error]. Resume the integration from where it stopped.