Vue d’ensemble des portails Web API

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 d’API web effectués par les utilisateurs anonymes comptent vers la capacité de l’utilisateur anonyme. 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é utilisateur authentifiées 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

Paramètres du site pour l’API web

Important

La prise en charge de la valeur générique (*) dans le paramètre de Webapi/<table-name>/fields site est déconseillée.

Remplacez * par une liste séparée par des virgules des colonnes requises par votre site. Power Pages demandes d’API web pour les tables configurées avec * échec jusqu’à ce que vous configuriez des noms de colonnes explicites.

Pour activer l’API web des portails pour votre portail, activez le paramètre de site. Vous pouvez également configurer l’API web au niveau du champ qui détermine les champs de table que les utilisateurs peuvent ou ne peuvent pas modifier à l’aide de l’API web des portails.

Note

Utilisez le nom logique de la table pour ces paramètres (par exemple, compte).

Nom du paramètre du site Description
Webapi/<nom de la table>/enabled Active ou désactive l’API web pour <table name>.
Valeur par défaut :False
Valeurs valides :True, False
Webapi/<nom de la table>/fields Définit la liste séparée par des virgules des attributs que les utilisateurs peuvent modifier à l’aide de l’API web.
Valeurs possibles :
- Attributs spécifiques :attr1,attr2,attr3
Important : ce paramètre est un paramètre de site obligatoire. Lorsque ce paramètre est manquant, l’erreur « Aucun champ défini pour cette entité » s’affiche.
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

Sécurité avec l’API web des portails

Vous pouvez configurer la sécurité basée sur les enregistrements pour des enregistrements individuels dans les portails à l’aide des autorisations de table. L’API Web des portails accède aux enregistrements de table et suit les autorisations de table accordées aux utilisateurs via les rôles Web associés.

Vous pouvez configurer les autorisations de colonne pour définir plus en détail les privilèges des colonnes individuelles d’une table au moment de l’utilisation de l’API Web des portails.

Authentification des requêtes de l’API Web des portails

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 des portails dans votre code, utilisez EntitySetName. Pour accéder à la table de compte , par exemple, la syntaxe du code utilise EntitySetName des comptes ; /_api/accounts().

Note

Utilisez le nom logique de la table pour les paramètres du site (par exemple account).

Pour déterminer EntitySetName de tables spécifiques, procédez comme suit :

  1. Accéder à https://make.powerapps.com

  2. Sélectionnez l’onglet Dataverse dans le panneau latéral et sélectionnez la table.

  3. Sélectionnez l’option ... (Commandes), puis choisissez Advanced, Tools et Copy set name to copy the EntitySetName of the table to your Presse-papiers.

    Comment localiser EntitySetName d’une table Dataverse.

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.

Capture d’écran du 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

L’API Web des portails ne peut pas être utilisée 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

Problèmes connus

Les utilisateurs obtiennent une erreur CDS s’ils appellent une requête d’API web GET pour des tables qui ont plusieurs niveaux d’autorisations de table1 à plusieurs ou plusieurs à plusieurs lorsque les étendues Parental, **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