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.
Ce guide de démarrage rapide vous montre comment authentifier et connecter une application monopage JavaScript à l’API Web Dataverse dans Visual Studio Code à l’aide des technologies suivantes. Vous créez une application qui connecte un utilisateur, appelle la fonction WhoAmI et affiche l’ID de l’utilisateur.
| Technologie | Description |
|---|---|
| JavaScript | Un langage de programmation pour le développement web, permettant un contenu interactif. Il s’exécute dans les navigateurs pour les scripts côté client et peut être utilisé côté serveur avec Node.js. |
| Visual Studio Code | Un éditeur de code open source léger avec débogage, surbrillance syntaxique et prise en charge des plug-ins. |
| Applications à une seule page (SPA) | Applications Web qui chargent une seule page HTML et mettent à jour dynamiquement le contenu lorsque l’utilisateur interagit avec l’application. Cette approche offre une expérience utilisateur plus fluide et plus rapide en réduisant le rechargement des pages et en améliorant les performances. |
| Bibliothèque d’authentification Microsoft pour JavaScript (MSAL.js) | Une bibliothèque qui permet l’authentification et l’autorisation pour les applications Web utilisant les plateformes d’identité Microsoft. Il simplifie l’intégration de la connexion sécurisée et de l’acquisition de jetons pour accéder aux ressources protégées. |
| Partage de ressources cross-origin (CORS) | Une application SPA peut utiliser JavaScript côté client avec l’API web Dataverse car CORS est activé. CORS est une fonctionnalité de sécurité dans les navigateurs Web qui permet un accès contrôlé aux ressources d’un serveur Web à partir d’une origine différente. Il permet aux applications web de contourner la stratégie de même origine, ce qui facilite le partage de données entre différents domaines. |
Goal
Ce guide de démarrage rapide se concentre sur la connexion à l’API web Dataverse avec JavaScript à l’aide d’une application cliente SPA avec un nombre minimal d’étapes. Lorsque vous avez terminé ce guide de démarrage rapide, vous pouvez :
- Connectez-vous et connectez-vous à Dataverse.
- Appeler la fonction WhoAmI et afficher votre valeur
UserID.
En suivant ce guide de démarrage rapide, vous pouvez essayer les exemples d’opérations de données de l’API web (JavaScript côté client) qui illustrent des fonctionnalités plus avancées.
Nonte
Ce guide de démarrage rapide ne s’applique pas aux scénarios JavaScript côté client suivants :
| Scénario | En savoir plus |
|---|---|
| Scripts de l’application pilotée par modèle |
-
Appliquer la logique métier en utilisant le script client dans les applications pilotées par modèle avec Javascript - Xrm.WebApi (référence de l’API client) |
| Infrastructure de composants Power Apps |
-
WebAPI des composants de code - Mise en œuvre du composant API web |
| Portails Power Pages | Power PagesPortails API web |
Dans ces scénarios, le type d’application respectif vous permet d’envoyer des requêtes plutôt que d’utiliser directement l’API Fetch native JavaScript, comme indiqué dans ce démarrage rapide. Les scripts côté client dans les applications pilotées par modèle s’exécutent dans le contexte d’une application authentifiée, de sorte que chaque demande ne nécessite pas de jeton d’accès.
Prérequis
Le tableau suivant décrit les conditions préalables nécessaires pour exécuter ce guide de démarrage rapide et les exemples d’opérations de données de l’API web (JavaScript côté client).
| Conditions préalables | Description |
|---|---|
| Privilèges pour créer un enregistrement d’application Entra | Vous avez besoin de la possibilité de créer une inscription d’application Microsoft Entra pour suivre ce guide de démarrage rapide. Si vous ne savez pas si vous avez cette possibilité, essayez la première étape pour inscrire une application SPA et découvrir. |
| Visual Studio Code | Si Visual Studio Code n'est pas installé sur votre ordinateur, téléchargez et installez Visual Studio Code pour exécuter ce guide de démarrage rapide. |
| Node.js | Node.js est un environnement d’exécution qui vous permet d’exécuter JavaScript côté serveur. Ce guide de démarrage rapide crée une application SPA qui exécute JavaScript côté client dans un navigateur plutôt que le runtime Node.js. Mais Node Gestionnaire de package (npm) est installé avec Node.js et npm est nécessaire pour installer Parcel et la bibliothèque MSAL.js. |
| Colis | Les applications Web modernes ont généralement de nombreuses dépendances aux bibliothèques open source distribuées à l’aide de npm et de scripts qui doivent être gérés et optimisés pendant le processus de génération. Ces outils sont appelés bundlers. Le plus courant est webpack.
VITE est également populaire. Ce guide de démarrage rapide utilise Parcel , car il offre une expérience simplifiée. Pour des démarrages rapides et des exemples qui montrent des applications SPA utilisant différents cadres et bundlers, consultez Exemples d’applications à une seule page Microsoft Entra. Vous pouvez adapter ces exemples pour utiliser l’API web Dataverse avec les informations présentées dans ce démarrage rapide. |
| Technologies web | Une connaissance de HTML, JavaScript et CSS est nécessaire pour comprendre le fonctionnement de ce démarrage rapide. Il est essentiel de comprendre comment effectuer des requêtes réseau avec JavaScript. |
Enregistrer une application SPA
Cette étape est d’abord due au fait que si vous ne pouvez pas inscrire une application, vous ne pouvez pas suivre ce guide de démarrage rapide.
N’importe lequel des rôles Microsoft Entra privilégiés suivants inclut les autorisations requises :
Lorsque vous configurez l’application, vous avez besoin d’un ID d’application (client) et de l’ID de votre client Microsoft Entra. Choisissez un nom descriptif pour l’application afin que les personnes sachent à quoi l’application a été créée.
Enregistrer votre application
Vous pouvez inscrire votre application à l’aide de l’une des options suivantes :
- Interface utilisateur de l’application web Microsoft Entra
- Azure PowerShell applet de commande New-AzADApplication
Utilisez le centre d’administration Microsoft Entra pour créer une inscription d’application SPA à locataire unique, configurer son URI de redirection, copier les ID d’application et de locataire et ajouter l’autorisation Dataverseuser_impersonation.
Créer l’enregistrement d’application
Connectez-vous au centre d’administration Microsoft Entra.
Si vous avez accès à plusieurs locataires, utilisez l’icône Paramètres
dans le menu supérieur pour basculer vers le locataire dans lequel vous souhaitez inscrire l’application à partir du menu Répertoires + abonnements .Accédez aux inscriptions d’applications et sélectionnez Nouvelle inscription.
Entrez un Nom pour l’application, par exemple
Dataverse Web API Quickstart SPA.Pour les types de comptes pris en charge, sous Choisir les types de comptes qui peuvent utiliser cette application ou accéder à cette API, sélectionnez Locataire unique uniquement - <Nom de votre locataire>.
Pour URI de redirection (facultatif)
- Pour Sélectionner une plateforme, sélectionnez Application à une seule page (SPA).
- Entrez
http://localhost:1234/redirect.htmlcomme valeur.
Sélectionnez Enregistrer pour appliquer vos modifications.
Dans la fenêtre de l’inscription de l’application que vous avez créée, sous l’onglet Vue d’ensemble , sous Essentials, vous trouverez les valeurs suivantes :
- ID d’application (client)
- ID du répertoire (locataire)
Copiez ces valeurs, car vous en avez besoin lorsque vous créez le fichier .env pour utiliser les variables d’environnement.
Ajouter le privilège user_impersonation de Dataverse
- Dans la zone Gérer, sélectionnez Autorisations de l’API.
- Sélectionnez Ajouter une autorisation.
- Dans la zone Demander les autorisations de l’API, sélectionnez l’onglet API utilisées par mon organisation.
- Tapez « Dataverse » pour trouver l’ID d’application (client)
00000007-0000-0000-c000-000000000000. - Sélectionnez l’application Dataverse.
- Dans Sélectionner des autorisations, sélectionnez
user_impersonation. - Sélectionnez Ajouter des autorisations.
Nonte
Si vous n'avez pas les privilèges de créer une inscription d'application pour votre entreprise, obtenez un locataire de votre propre par le biais du plan de développement Power Apps.
Installer Node.js
Accédez à Télécharger Node.js.
Choisissez le programme d’installation approprié pour votre système d’exploitation (Windows, macOS ou Linux) et téléchargez-le.
Exécutez le programme d’installation. Assurez-vous d’accepter l’option par défaut pour : Installer npm, le gestionnaire de package recommandé pour Node.js.
Vérifiez l’installation en ouvrant un terminal ou une invite de commandes, en tapant ces commandes et en appuyant sur Entrée.
node -vnpm -v
Vous voyez une sortie similaire à celle-ci :
PS C:\Users\you> node -v v24.19.0 PS C:\Users\you> npm -v 11.17.0 PS C:\Users\you>
Créer un projet
Nonte
Pour ignorer ces étapes, clonez ou téléchargez le dépôt PowerApps-Samples . L'application complétée pour ces étapes est disponible à l’adresse /dataverse/webapi/JS/quickspa. Suivez les instructions du fichier LISEZMOI.
Cette section vous guide tout au long de l’installation des dépendances à partir de npm, la création de la structure de dossiers et l’ouverture de Visual Studio Code.
Ouvrez une fenêtre de terminal à un emplacement où vous souhaitez créer un projet. Pour ces instructions, utilisez
C:\projects.Tapez les commandes suivantes et appuyez sur Entrée pour exécuter chaque commande :
Command Action mkdir quickspaCréez un dossier appelé quickspa.cd quickspaAccédez au nouveau dossier quickspa.npm install --save-dev parcelInstallez Parcel et initialisez le projet. npm install @azure/msal-browserInstallez la bibliothèque MSAL.js. npm install dotenvInstallez dotenv pour accéder aux variables d’environnement qui stockent des données de configuration potentiellement sensibles. mkdir srcCréez un dossier srcdans lequel vous ajoutez des fichiers HTML, JS et CSS pour votre application dans les étapes suivantes.code .Ouvrez Visual Studio Code dans le contexte du dossier quickspa.
Votre projet devrait ressembler à ceci dans l’Explorateur Visual Studio Code :
Nonte
Visual Studio Code peut afficher une invite : le mode restreint est destiné à la navigation sécurisée du code. Faites confiance à ce dossier pour activer toutes les fonctionnalités. Sélectionnez Gérer et choisissez d’approuver le dossier. En savoir plus sur l’approbation de l’espace de travail
Créer le fichier .env
Le stockage des données de configuration dans l’environnement, séparé du code, est une bonne pratique de sécurité.
Créez un nouveau fichier nommé
.envdans la racine de votre dossierquickspa.Collez les valeurs de Register your app pour remplacer les valeurs et
TENANT_IDlesCLIENT_IDvaleurs dans le code suivant :# The environment this application will connect to. BASE_URL=https://<yourorg>.api.crm.dynamics.com # The registered Entra application id CLIENT_ID=11112222-bbbb-3333-cccc-4444dddd5555 # The Entra tenant id TENANT_ID=aaaabbbb-0000-cccc-1111-dddd2222eeee # The SPA redirect URI included in the Entra application registration REDIRECT_URI=http://localhost:1234/redirect.htmlDéfinissez la valeur
BASE_URLsur l’URL de l’API web pour l’environnement auquel vous souhaitez vous connecter.
Nonte
N’archivez pas le .env fichier. Dans Créer un .gitignore fichier, vous l’excluez. Mais vous souhaiterez peut-être créer un fichier .env.example en utilisant les valeurs d’espace réservé afin que les utilisateurs sachent quelles données il doit contenir.
Créer une page HTML
Les instructions de cette section décrivent comment créer le fichier HTML qui fournit l’interface utilisateur de l’application SPA.
Créez un nouveau fichier dans le dossier
srcnomméindex.html.Copiez et collez ce contenu sur la page
index.html:<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Dataverse Web API JavaScript Quick Start</title> <link rel="stylesheet" href="styles/style.css" /> </head> <body> <header> <h1>Dataverse Web API JavaScript Quick Start</h1> <button id="loginButton">Login</button> <button id="logoutButton" class="hidden">Logout</button> </header> <nav id="buttonContainer" class="disabled"> <button id="whoAmIButton">WhoAmI</button> </nav> <main id="container"></main> <script type="module" src="scripts/index.js"></script> </body> </html>
Cette page HTML fournit les éléments suivants :
| ID de l’élément | Type d’élément | Description |
|---|---|---|
loginButton |
bouton | Pour ouvrir la boîte de dialogue de connexion. |
logoutButton |
bouton | Pour ouvrir la boîte de dialogue de déconnexion. Masqué par défaut. |
buttonContainer |
nav | Contient des boutons qui nécessitent la connexion de l’utilisateur à utiliser. Désactivé par défaut. |
whoAmIButton |
bouton | Exécute la fonction WhoAmI pour afficher l’ID de l’utilisateur. |
container |
principal | Zone dans laquelle vous pouvez afficher des informations à l’utilisateur. |
| script | Charge le index.js fichier après le reste des éléments de la page. |
Créer une page HTML de redirection
MSAL Browser v5 a introduit la prise en charge des applications qui sont traitées avec des en-têtes Cross-Origin-Opener-Policy (COOP), et cette modification nécessite une page de pont de redirection pour passer en toute sécurité la réponse d’authentification à la fenêtre SPA principale. Découvrez comment configurer la page pont de redirection dans MSAL Browser
Créez un nouveau fichier dans le dossier
srcnomméredirect.html.Copiez et collez ce contenu sur la page
redirect.html:<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Signing in</title> </head> <body> <p>Processing authentication...</p> <script type="module"> import { broadcastResponseToMainFrame } from "@azure/msal-browser/redirect-bridge"; broadcastResponseToMainFrame().catch((error) => { console.error("Error broadcasting authentication response:", error); }); </script> </body> </html>
Créer un script JavaScript
Ce fichier contient toute la logique qui rend la page index.html dynamique.
Créez un nouveau dossier dans le dossier
srcnomméscripts.Créez un nouveau fichier dans le dossier
scriptsnomméindex.js.Copiez et collez ce contenu dans le
index.jsfichier :import { PublicClientApplication } from "@azure/msal-browser"; import 'dotenv/config' // Load the environment variables from the .env file const config = { baseUrl: process.env.BASE_URL, clientId: process.env.CLIENT_ID, tenantId: process.env.TENANT_ID, redirectUri: process.env.REDIRECT_URI, }; // Microsoft Authentication Library (MSAL) configuration const msalConfig = { auth: { clientId: config.clientId, authority: "https://login.microsoftonline.com/" + config.tenantId, redirectUri: config.redirectUri, postLogoutRedirectUri: config.redirectUri, }, cache: { cacheLocation: "sessionStorage", // This configures where your cache will be stored storeAuthStateInCookie: true, }, }; // Create an instance of MSAL const msalInstance = new PublicClientApplication(msalConfig); // body/main element where messages are displayed const container = document.getElementById("container"); // Event handler for login button async function logIn() { await msalInstance.initialize(); if (!msalInstance.getActiveAccount()) { const request = { scopes: ["User.Read", config.baseUrl + "/user_impersonation"], }; try { const response = await msalInstance.loginPopup(request); msalInstance.setActiveAccount(response.account); // Hide the loginButton so it won't get pressed twice document.getElementById("loginButton").style.display = "none"; // Show the logoutButton const logoutButton = document.getElementById("logoutButton"); logoutButton.innerHTML = "Logout " + response.account.name; logoutButton.style.display = "block"; // Enable any buttons in the nav element document.getElementsByTagName("nav")[0].classList.remove("disabled"); } catch (error) { let p = document.createElement("p"); p.textContent = "Error logging in: " + error; p.className = "error"; container.append(p); } } else { // Clear the active account and try again msalInstance.setActiveAccount(null); this.click(); } } // Event handler for logout button async function logOut() { const activeAccount = await msalInstance.getActiveAccount(); const logoutRequest = { account: activeAccount, mainWindowRedirectUri: config.redirectUri, }; try { await msalInstance.logoutPopup(logoutRequest); document.getElementById("loginButton").style.display = "block"; this.innerHTML = "Logout "; this.style.display = "none"; document.getElementsByTagName("nav")[0].classList.remove("disabled"); } catch (error) { console.error("Error logging out: ", error); } } /** * Retrieves an access token using MSAL (Microsoft Authentication Library). * Set as the getToken function for the DataverseWebAPI client in the login function. * * @async * @function getToken * @returns {Promise<string>} The access token. * @throws {Error} If token acquisition fails and is not an interaction required error. */ async function getToken() { const request = { scopes: [config.baseUrl + "/.default"], }; try { const response = await msalInstance.acquireTokenSilent(request); return response.accessToken; } catch (error) { if (error instanceof msal.InteractionRequiredAuthError) { const response = await msalInstance.acquireTokenPopup(request); return response.accessToken; } else { console.error(error); throw error; } } } // Add event listener to the login button document.getElementById("loginButton").onclick = logIn; // Add event listener to the logout button document.getElementById("logoutButton").onclick = logOut; /// Function to get the current user's information /// using the WhoAmI function of the Dataverse Web API. async function whoAmI() { const token = await getToken(); const request = new Request(config.baseUrl + "/api/data/v9.2/WhoAmI", { method: "GET", headers: { Authorization: `Bearer ${token}`, "Content-Type": "application/json", Accept: "application/json", "OData-Version": "4.0", "OData-MaxVersion": "4.0", }, }); // Send the request to the API const response = await fetch(request); // Handle the response if (!response.ok) { throw new Error("Network response was not ok: " + response.statusText); } // Successfully received response return await response.json(); } // Add event listener to the whoAmI button document.getElementById("whoAmIButton").onclick = async function () { // Clear any previous messages container.replaceChildren(); try { const response = await whoAmI(); let p1 = document.createElement("p"); p1.textContent = "Congratulations! You connected to Dataverse using the Web API."; container.append(p1); let p2 = document.createElement("p"); p2.textContent = "User ID: " + response.UserId; container.append(p2); } catch (error) { let p = document.createElement("p"); p.textContent = "Error fetching user info: " + error; p.className = "error"; container.append(p); } };
Le script index.js contient les constantes et les fonctions suivantes :
| Item | Description |
|---|---|
config |
Contient les données utilisées par la configuration de la bibliothèque d’authentification Microsoft (MSAL). |
msalConfig |
Configuration de la bibliothèque d’authentification Microsoft (MSAL) |
msalInstance |
Instance PublicClientApplication de MSAL. |
container |
Élément dans lequel les messages sont affichés. |
getToken |
Récupère un jeton d’accès à l’aide de MSAL. |
logIn |
Fonction d’écouteur d’événement pour le bouton de connexion. Ouvre une boîte de dialogue de choix de compte. |
logOut |
Fonction d’écouteur d’événement pour le bouton de déconnexion. Ouvre une boîte de dialogue de choix de compte. |
whoAmI |
Fonction asynchrone qui appelle la fonction WhoAmI pour récupérer des données de Dataverse. |
Écouteur d’événements whoAmIButton |
Fonction qui appelle la fonction whoAmI et gère les modifications de l’interface utilisateur pour afficher le message. |
Créer une page CSS
Le fichier feuille de style en cascade (CSS) rend la page HTML plus attrayante et les contrôles lorsque les contrôles sont désactivés ou masqués.
Créez un nouveau dossier nommé
stylesdans le dossiersrc.Créez un nouveau fichier nommé
style.cssdans le dossierstyles.Copiez et collez ce texte dans le fichier
style.css:.disabled { pointer-events: none; opacity: 0.5; /* Optional: to visually indicate the element is disabled */ } .hidden { display: none; } .error { color: red; } .expectedError { color: green; } body { font-family: 'Roboto', sans-serif; font-size: 16px; line-height: 1.6; color: #333; background-color: #f9f9f9; } h1, h2, h3 { color: #2c3e50; } button { background-color: #3498db; color: #fff; border: none; padding: 10px 20px; border-radius: 5px; box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); transition: background-color 0.3s ease; margin: 5px; /* Adjust the value as needed */ } button:hover { background-color: #2980b9; } header { padding-bottom: 10px; /* Adjust the value as needed */ }
Créer un fichier .gitignore
Lorsque vous vérifiez votre application à l’aide du contrôle de code source, l’ajout d’un .gitignore fichier vous empêche d’archiver les fichiers et dossiers spécifiés.
Créez un fichier nommé
.gitignore.Ajoutez le contenu suivant :
.parcel-cache dist node_modules .env
Les dossiers .parcel-cache et dist s’affichent lorsque vous exécutez l’application pour la première fois.
Ne pas enregistrer le fichier .env est une bonne pratique de sécurité. Vous souhaiterez peut-être enregistrer un fichier .env.sample d’espace réservé contenant des valeurs d’espace réservé.
Votre projet devrait ressembler à ceci dans l’Explorateur Visual Studio Code :
Configurer votre fichier package.json
Votre package.json fichier doit ressembler à l’exemple suivant :
{
"devDependencies": {
"parcel": "^2.14.1",
},
"dependencies": {
"@azure/msal-browser": "^5.17.3",
"dotenv": "^17.4.2"
}
}
Ajoutez les éléments et @parcel/resolver-default les scripts éléments après dependencies:
"dependencies": {
"@azure/msal-browser": "^5.17.3",
"dotenv": "^17.4.2"
},
"scripts": {
"start": "parcel src/index.html src/redirect.html"
},
"@parcel/resolver-default": {
"packageExports": true
}
La @parcel/resolver-default configuration active le comportement de résolution des exportations de package de Packages. Cette configuration est nécessaire pour résoudre @azure/msal-browsercorrectement , qui utilise le champ d’exportation dans ses métadonnées de package. Selon la version de Colis que vous utilisez, ce paramètre n’est peut-être pas nécessaire, mais il a été conservé pour garantir la compatibilité avec la dépendance MSAL de l’exemple.
Cette configuration vous permet de démarrer l’application à l’aide npm start de l’étape suivante.
Essayez-le
Dans Visual Studio Code, ouvrez une fenêtre de terminal.
Tapez
npm start, puis appuyez sur Entrée.Nonte
Il se peut qu’une sortie soit écrite dans le terminal lorsque le projet s’initialise pour la première fois. Cette sortie est l’installation de modules Node supplémentaires pour éviter les problèmes lors de l’utilisation de dotenv. Examinez les
package.jsonéléments et vous voyez quelques nouveaux éléments ajoutés à l’élémentdevDependencies.Vous voyez la sortie vers le terminal qui ressemble à ceci :
Server running at http://localhost:1234 Built in 1.08sAppuyez sur Ctrl + clic sur le lien http://localhost:1234 pour ouvrir votre navigateur.
Dans votre navigateur, sélectionnez le bouton Connexion.
La boîte de dialogue Se connecter à votre compte s’ouvre.
Dans la boîte de dialogue Se connecter à votre compte, sélectionnez le compte ayant accès à Dataverse.
La première fois que vous accédez à Dataverse à l’aide d’une nouvelle valeur d’ID d’application (client), vous voyez cette boîte de dialogue Autorisations demandées :
Sélectionnez Accepter dans la boîte de dialogue Autorisations demandées.
Sélectionnez le bouton WhoAmI.
Le message Félicitations ! Vous vous êtes connecté à Dataverse l’aide de l’API web. s’affiche avec votre valeur
UserIddu type complexe WhoAmIResponse.
Résolution des problèmes
Cette section contient des erreurs que vous pouvez rencontrer lors de l’exécution de ce démarrage rapide.
Nonte
Si vous rencontrez des problèmes lors de la procédure de démarrage rapide, essayez de cloner ou de télécharger le dépôt PowerApps-Samples . L'application complétée pour ces étapes est disponible à l’adresse /dataverse/webapi/JS/quickspa. Suivez les instructions du fichier LISEZMOI. Si cela ne fonctionne pas, créez un problème de GitHub référençant cet quickspa exemple d'application.
Le compte d’utilisateur sélectionné n’existe pas dans le client
Lorsque le compte que vous sélectionnez n’appartient pas au même client Microsoft Entra que l’application enregistrée, vous obtenez cette erreur dans la boîte de dialogue Choisir un compte :
Selected user account does not exist in tenant '{Your tenant name}' and cannot access the application '{Your application ID}' in that tenant. The account needs to be added as an external user in the tenant first. Please use a different account.
Résolution : assurez-vous de choisir l’utilisateur correct.
Étapes suivantes
Essayez d’autres exemples qui utilisent JavaScript côté client.
En savoir plus sur les fonctionnalités de l’API web Dataverse en comprenant les documents de service.