Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
L'API Web dei portali consente un'esperienza utente più ricca all'interno delle pagine dei siti Power Pages. Puoi utilizzare l'API Web per eseguire operazioni di creazione, lettura, aggiornamento ed eliminazione in tutte le tabelle di Microsoft Dataverse dalle tue pagine Web. Ad esempio, è possibile creare un nuovo account o aggiornare un contatto senza usare un modulo o un modulo con più passaggi usando l'API Web dei portali.
L'API Web usa la /_api route ,ad esempio https://yoursite.powerappsportals.com/_api/accounts, e segue un modello RESTful simile all'API Web Dataverse.
Importante
- L'API Web dei portali è progettata per creare un'esperienza utente più ricca nelle pagine dei portali. Non è ottimizzata per servizi di terze parti o integrazione di applicazioni. L'uso dell'API Web portals per l'integrazione con altri siti di Power Pages non è supportato.
- Le operazioni API Web dei portali sono limitate alle tabelle relative ai dati, ad esempio, account, contatti o tabelle personalizzate. La configurazione dei metadati della tabella o dei dati della tabella di configurazione del portale, ad esempio la configurazione di tabelle del portale, ad esempio adx_contentsnippet, adx_entityform o adx_entitylist, non è supportata tramite l'API Web portals. Per un elenco completo, vedere tabelle di configurazione non supportate più avanti in questo articolo.
- L'API web dei portali usa la cache lato server, quindi le chiamate successive all'API Web sono più veloci delle chiamate iniziali. La cancellazione della cache lato server del portale provoca un degrado temporaneo delle prestazioni.
- Le operazioni dell'API Web dei portali richiedono una licenza per Power Pages. Ad esempio, le chiamate API Web effettuate dagli utenti anonimi contano per la capacità utente anonima. Le chiamate API Web effettuate dagli utenti autenticati (interni o esterni) non vengono conteggiate per le visualizzazioni di pagina, ma richiedono le licenze di capacità per utenti autenticati applicabili. Per altre informazioni, vedere Power Pages domande frequenti sulle licenze.
- La chiamata di azioni e funzioni tramite l'API Web portals non è supportata.
Operazioni dell'API Web
L'API Web dei portali offre un sottoinsieme di funzionalità per le operazioni di Dataverse che puoi eseguire utilizzando l'API Dataverse. Il formato api è il più simile possibile per ridurre la curva di apprendimento.
Nota
Le operazioni dell'API Web fanno distinzione tra maiuscole e minuscole.
Operazioni dell'API Web disponibili in Power Pages
- Leggi i record da una tabella
- Creare un record in una tabella
- Aggiornare ed eliminare i record in una tabella
- Associare e dissociare tabelle
Impostazioni del sito per l'API Web
Importante
Il supporto per il valore con caratteri jolly (*) nell'impostazione del sito Webapi/<table-name>/fields è deprecato.
Sostituire * con un elenco delimitato da virgole delle colonne richieste per il tuo sito. Le richieste Web API di Power Pages per le tabelle configurate con * non riescono finché non si configurano nomi di colonna espliciti.
Per abilitare la Web API dei portali per il sito, configurare le impostazioni del sito per ogni tabella da esporre. È possibile definire le colonne disponibili per l'API Web elencandole in un'impostazione del sito, usando una vista di sistema Dataverse o combinando entrambi i metodi.
Nota
Usare la tabella nome logico per queste impostazioni, ad esempio account.
| Nome dell'impostazione del sito | Descrizione |
|---|---|
Webapi/<table-name>/enabled |
Abilita o disabilita l'API Web per <table name>. Impostazione predefinita: False Valori validi: True, False |
Webapi/<table-name>/fields |
Definisce un elenco delimitato da virgole di nomi logici di colonna disponibili tramite l'API Web. Ad esempio: name,accountnumber,telephone1. Questa impostazione è obbligatoria, a meno che Webapi/<table-name>/UseFieldsFromView non sia impostata su True e la vista di sistema configurata contenga almeno una colonna idonea. Il valore wildcard (*) è deprecato. |
Webapi/<table-name>/UseFieldsFromView |
Se impostato su True, rende disponibili colonne da una vista di sistema Dataverse denominata Power Pages Web API Columns tramite l'API Web.
Valore predefinito:False.
Valori validi:True, False. Se Webapi/<table-name>/fields è configurato anche , le colonne di entrambe le origini vengono combinate. |
Webapi/error/innererror |
Abilita o disabilita InnerError. Impostazione predefinita: False Valori validi: True, False |
Ad esempio, per esporre l'API Web per la tabella Case in cui gli utenti autenticati possono creare, aggiornare ed eliminare record per questa entità, usare le impostazioni del sito illustrate nella tabella seguente.
| Nome dell'impostazione del sito | Valore dell'impostazione sito |
|---|---|
| Webapi/incident/enabled | vero |
| Webapi/incident/fields | attr1, attr2, attr3 |
Configurare le colonne dell'API Web usando una visualizzazione di sistema
Usando una visualizzazione di sistema, gli autori possono gestire le colonne disponibili tramite l'API Web del portale senza mantenere un elenco delimitato da virgole in un'impostazione del sito.
- In Power Pages studio di progettazione aprire l'area di lavoro Dati.
- Selezionare la tabella, selezionare la scheda Viste e quindi creare o modificare una visualizzazione di sistema pubblica.
- Denominare la vista Power Pages Web API Columns.
- Aggiungere alla visualizzazione le colonne di cui il sito ha bisogno e quindi salvare e pubblicare la vista.
- Nell'app Gestione portale creare l'impostazione
Webapi/<table-name>/UseFieldsFromViewdel sito per il sito Web e impostarne il valore suTrue. - Verifica che
Webapi/<table-name>/enabledsia impostato suTrue.
Nota
- Sono incluse solo le colonne della tabella primaria visualizzate nella vista. Le colonne delle tabelle correlate non sono incluse. Le colonne usate solo per il filtro o l'ordinamento non sono incluse, a meno che non vengano visualizzate anche nella visualizzazione.
- Per le colonne di ricerca, usare la proprietà di ricerca OData corrispondente nelle richieste api Web. Il nome della proprietà usa il formato
_<column-logical-name>_value. Ad esempio, laprimarycontactidcolonna di ricerca viene restituita come_primarycontactid_value. - Le modifiche apportate alla visualizzazione di sistema possono richiedere fino a cinque minuti per diventare disponibili per l'API Web.
Se entrambi Webapi/<table-name>/fields e Webapi/<table-name>/UseFieldsFromView sono configurati, l'API Web combina le colonne elencate in Webapi/<table-name>/fields con le colonne idonee della vista di sistema colonne API Web Power Pages per tale tabella.
Importante
- L'impostazione del sito
Webapi/<table-name>/UseFieldsFromViewè disponibile nella versione 9.8.8.x del sito di Power Pages e successive. - Il supporto per il valore con caratteri jolly (
*) inWebapi/<table-name>/fieldsè deprecato. Usare nomi di colonna espliciti, la visualizzazione di sistema Power Pages Web API Columns o entrambi.
Sicurezza con l'API Web del portale
È possibile configurare la sicurezza basata su record per i singoli record nei portali usando autorizzazioni tabella. L'API Web del portale accede ai record di tabella (entità) e rispetta le autorizzazioni della tabella concesse agli utenti tramite il ruolo Web associato.
È possibile configurare le autorizzazioni per le colonne per definire ulteriormente i privilegi per singole colonne all'interno di una tabella durante l'uso dell'API Web del portale.
Autenticazione delle richieste all'API Web del portale
Non è necessario includere un codice di autenticazione, perché la sessione dell'applicazione gestisce l'autenticazione e l'autorizzazione. Tutte le chiamate alle Web API devono includere un token CSRF (Cross-Site Request Forgery).
Utilizzo di EntitySetName
Quando si fa riferimento alle tabelle di Dataverse usando l'API Web del portale nel codice, usare EntitySetName. Per accedere alla tabella account, ad esempio, la sintassi del codice usa EntitySetName degli account; /_api/accounts().
Nota
Usa il nome logico della tabella per le impostazioni del sito (ad esempio account).
Per determinare l'EntitySetName di tabelle specifiche, seguire questi passaggi:
Seleziona la scheda Dataverse dal pannello laterale e seleziona la tabella.
Selezionare l'opzione ... (comandi) e quindi scegliere Avanzate, Strumenti e Copia nome set per copiare EntitySetName della tabella negli Appunti.
Leggi e regolamenti sulla privacy
Tutte le intestazioni di richiesta utilizzano un ID di contatto a fini di audit. Per un utente anonimo, il valore è null.
Se il log di controllo è abilitato, un utente può vedere tutti gli eventi di controllo nel log di controllo di Office 365.
Ulteriori informazioni:
Abilitare e utilizzare la registrazione degli impegni
Esportare, configurare e visualizzare i record del log di controllo
Tabelle di configurazione non supportate
Non è possibile usare l'API Web del portale per le tabelle di configurazione seguenti:
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
Limiti
Le tabelle di attività personalizzate ereditano colonne di base (come subject, description, activityid e createdon) dalla tabella activitypointer. Quando si configurano colonne API Web per una tabella attività personalizzata tramite Webapi/<table-name>/fields, la vista di sistema Power Pages Web API Columns o $select, includi almeno una colonna definita direttamente in tale tabella, non solo colonne ereditate.
Se si configurano solo colonne ereditate activitypointer , l'API Web non riesce a rilevare una selezione di colonna specifica della tabella. Di conseguenza, considera la richiesta come un carattere jolly (*) e restituisce l'errore seguente, anche quando si configurano in modo esplicito i campi: Attribute All Columns is not enabled for Web Api.
Raccomandazione: Includere almeno una colonna definita direttamente nella tabella attività personalizzata, ad esempio Commenti del portale/adx_portalcomment, insieme alle colonne ereditate.
Problemi noti
Gli utenti ricevono un errore CDS se richiamano una richiesta API Web GET per tabelle con più livelli di autorizzazioni di tabella uno-a-molti o molti-a-molti quando gli ambiti genitori, contatto o account aggiungono altre condizioni alla query.
Per risolvere questo problema, usare FetchXML nella query OData.
Passaggio successivo
Eseguire query sui dati tramite l'API Web dei portali