Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
L’API web des portails offre une expérience utilisateur plus riche dans les sites Power Pages. Vous pouvez utiliser l’API Web pour effectuer des opérations de création, de lecture, de mise à jour et de suppression dans toutes les tables Microsoft Dataverse à partir de vos pages web. Par exemple, vous pouvez créer un compte ou mettre à jour un contact sans utiliser de formulaire ou de formulaire à plusieurs étapes à l’aide de l’API web des portails.
L’API web utilise l’itinéraire /_api (par exemple https://yoursite.powerappsportals.com/_api/accounts) et suit un modèle RESTful similaire à l’API Web Dataverse.
Important
- L’API web des portails est conçue pour créer une expérience utilisateur riche dans les pages de portails. Elle n’est pas optimisée pour les services tiers ou l’intégration d’application. L'utilisation de l'API web des portails pour s'intégrer à d'autres sites Power Pages n'est pas prise en charge.
- Les opérations de l’API Web des portails sont limitées aux tables liées aux données, par exemple, des comptes, des contacts ou vos tableaux personnalisés. La configuration des métadonnées de table ou des données de table de configuration du portail ( par exemple, la configuration de tables de portails telles que adx_contentsnippet, adx_entityform ou adx_entitylist) n’est pas prise en charge à l’aide de l’API web des portails. Pour obtenir une liste complète, consultez les tables de configuration non prises en charge plus loin dans cet article.
- L’API Web des portails bénéficie de mise en cache côté serveur, les appels suivants à l’API Web sont donc plus rapides que les appels initiaux. La suppression du cache côté serveur du portail entraîne une dégradation temporaire des performances.
- Les opérations de l’API Web des portails nécessitent une licence Power Pages. Par exemple, les appels à l’API Web effectués par des utilisateurs anonymes sont comptabilisés dans la capacité des utilisateurs anonymes. Les appels d’API web effectués par des utilisateurs authentifiés (internes ou externes) ne comptent pas dans les vues de page, mais nécessitent des licences de capacité pour utilisateurs authentifiés applicables. Pour plus d’informations, consultez Power Pages FAQ sur les licences.
- L’appel d’actions et de fonctions à l’aide de l’API web des portails n’est pas pris en charge.
Opérations de l’API Web
L’API web des portails offre un sous-ensemble de fonctionnalités pour les opérations Dataverse que vous pouvez effectuer en utilisant l’API Dataverse. Le format d’API est aussi similaire que possible pour réduire la courbe d’apprentissage.
Note
Les opérations de l’API Web respectent la casse.
Opérations d’API Web disponibles dans Power Pages
- Lire les enregistrements d’une table
- Créer un enregistrement dans une table
- Mettre à jour et supprimer des enregistrements dans une table
- Associer et dissocier des tables
Paramètres du site pour l’API web
Important
La prise en charge de la valeur générique (*) dans le paramètre de site Webapi/<table-name>/fields est obsolète.
Remplacez * par une liste séparée par des virgules des colonnes requises par votre site. Les requêtes de l’API web Power Pages pour les tables configurées avec * échouent jusqu’à ce que vous configuriez des noms de colonnes explicites.
Pour activer l’API Web des portails pour votre site, configurez les paramètres du site pour chaque table que vous souhaitez exposer. Vous pouvez définir les colonnes disponibles pour l’API web en les listant dans un paramètre de site, en utilisant une vue système Dataverse ou en combinant les deux méthodes.
Note
Utilisez le nom logique de la table pour ces paramètres (par exemple account).
| Nom du paramètre du site | Description |
|---|---|
Webapi/<table-name>/enabled |
Active ou désactive l’API web pour <table name>. Valeur par défaut : False Valeurs valides : True, False |
Webapi/<table-name>/fields |
Définit une liste séparée par des virgules de noms logiques de colonnes disponibles via l’API web. Par exemple : name,accountnumber,telephone1. Ce paramètre est obligatoire, sauf si Webapi/<table-name>/UseFieldsFromView est défini sur True et que la vue système configurée contient au moins une colonne éligible. La valeur générique (*) est déconseillée. |
Webapi/<table-name>/UseFieldsFromView |
Lorsqu’il est défini sur True, rend les colonnes d’une vue système Dataverse nommée Power Pages Web API Columns disponibles via l’API web.
Valeur par défaut :False.
Valeurs valides :True, False. Si Webapi/<table-name>/fields est également configuré, les colonnes des deux sources sont combinées. |
Webapi/error/innererror |
Active ou désactive InnerError. Valeur par défaut : False Valeurs valides : True, False |
Par exemple, pour exposer l’API Web pour la table Case où les utilisateurs authentifiés peuvent créer, mettre à jour et supprimer des enregistrements pour cette entité, utilisez les paramètres de site indiqués dans le tableau suivant.
| Nom du paramètre du site | Valeur du paramètre de site |
|---|---|
| Webapi/incident/enabled | vrai |
| Webapi/incident/fields | attr1, attr2, attr3 |
Configurer des colonnes d’API web à l’aide d’une vue système
En utilisant une vue système, les créateurs peuvent gérer les colonnes disponibles via l’API web du portail sans conserver une liste séparée par des virgules dans un paramètre de site.
- Dans Power Pages studio de conception, ouvrez l’espace de travail Données.
- Sélectionnez le tableau, sélectionnez l’onglet Affichages , puis créez ou modifiez une vue système publique.
- Nommez la vue Power Pages Web API Columns.
- Ajoutez à la vue les colonnes dont votre site a besoin, puis enregistrez et publiez la vue.
- Dans l’application Gestion du portail, créez le paramètre de site
Webapi/<table-name>/UseFieldsFromViewpour le site web et définissez sa valeur surTrue. - Confirmez que
Webapi/<table-name>/enabledest réglé surTrue.
Note
- Seules les colonnes de la table primaire affichées dans la vue sont incluses. Les colonnes des tables associées ne sont pas incluses. Les colonnes utilisées uniquement pour le filtrage ou le tri ne sont pas incluses, sauf si elles sont également affichées dans l’affichage.
- Pour les colonnes de référence, utilisez la propriété de recherche OData correspondante dans les requêtes de l’API Web. Le nom de propriété utilise le format
_<column-logical-name>_value. Par exemple, laprimarycontactidcolonne de recherche est retournée en tant que_primarycontactid_value. - Les modifications apportées à la vue système peuvent prendre jusqu’à cinq minutes pour être disponibles pour l’API web.
Si Webapi/<table-name>/fields et Webapi/<table-name>/UseFieldsFromView sont tous deux configurés, l’API web combine les colonnes répertoriées dans Webapi/<table-name>/fields avec les colonnes éligibles à partir de la vue système colonnes de l’API web Power Pages pour cette table.
Important
- Le
Webapi/<table-name>/UseFieldsFromViewparamètre de site est disponible dans Power Pages site version 9.8.8.x et ultérieure. - La prise en charge de la valeur générique (
*) dansWebapi/<table-name>/fieldsest dépréciée. Utilisez des noms de colonnes explicites, la vue système Power Pages Web API Columns, ou les deux.
Sécurité avec l’API web du portail
Vous pouvez configurer la sécurité basée sur les enregistrements pour des enregistrements individuels dans les portails en utilisant les autorisations de table. L’API web du portail accède aux enregistrements de table (entité) et respecte les autorisations de table accordées aux utilisateurs via le rôle web associé.
Vous pouvez configurer des autorisations de colonne pour définir davantage de privilèges sur des colonnes individuelles au sein d’une table lors de l’utilisation de l’API web du portail.
Authentification des requêtes de l’API Web du portail
Il n’est pas nécessaire d’inclure un code d’authentification, car la session de l’application gère l’authentification et l’autorisation. Tous les appels d’API web doivent inclure un jeton de falsification de requête intersites (CSRF).
Utilisation de EntitySetName
Lorsque vous faites référence à des tables Dataverse à l’aide de l’API web du portail dans votre code, utilisez EntitySetName. Pour accéder à la table account, par exemple, la syntaxe du code utilise EntitySetName accounts ; /_api/accounts().
Note
Utilisez le nom logique de la table pour les paramètres du site (par exemple account).
Pour déterminer le EntitySetName de tables spécifiques, procédez comme suit :
Accéder à https://make.powerapps.com
Sélectionnez l’onglet Dataverse dans le panneau latéral et sélectionnez la table.
Sélectionnez l’option ... (Commandes), puis choisissez Avancé, Outils et Copier le nom de l’ensemble pour copier le EntitySetName de la table dans votre Presse-papiers.
Lois et réglementations sur la confidentialité
Tous les en-têtes de requête utilisent un ID de contact à des fins d’audit. Pour un utilisateur anonyme, la valeur est null.
Si la journalisation d’audit est activée, un utilisateur peut afficher tous les événements d’audit dans le journal d’audit Office 365.
Pour plus d’informations :
Activer et utiliser la journalisation des activités
Exporter, configurer et afficher les enregistrements du journal d’audit
Tables de configuration non prises en charge
Vous ne pouvez pas utiliser Portal Web API pour les tables de configuration suivantes :
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
Limitations
Les tables d’activité personnalisées héritent des colonnes de base (telles que subject, description, activityid et createdon) de la table activitypointer. Lorsque vous configurez des colonnes d’API web pour une table d’activité personnalisée à l’aide de Webapi/<table-name>/fields, la vue système Colonnes d’API web Power Pages ou $select, incluez au moins une colonne définie directement sur cette table, et pas seulement les colonnes héritées.
Si vous configurez uniquement des colonnes héritées activitypointer , l’API Web ne peut pas détecter une sélection de colonnes spécifique à une table. Par conséquent, il traite la requête en tant que caractère générique (*) et retourne l’erreur suivante, même lorsque vous configurez explicitement des champs : l’attribut Toutes les colonnes n’est pas activé pour l’API web.
Recommandation : Incluez au moins une colonne définie directement sur la table d’activités personnalisée, telle que Commentaires du portail/adx_portalcomment, ainsi que toutes les colonnes héritées.
Problèmes connus
Les utilisateurs reçoivent une erreur CDS lorsqu’ils exécutent une requête GET de l’API Web sur des tables comportant plusieurs niveaux d’autorisations de table avec des relations un-à-plusieurs ou plusieurs-à-plusieurs, lorsque les étendues Parent, Contact ou Compte ajoutent des conditions supplémentaires à la requête.
Pour résoudre ce problème, utilisez FetchXML dans la requête OData.
Étape suivante
Interroger les données à l’aide de l’API web des portails