Partager via


Exemples d’opérations de données de l’API Web (JavaScript côté client)

Cet article fournit une compréhension commune des exemples de l′API web utilisant JavaScript côté client. Bien que chaque exemple soit axé sur un aspect différent de l’API Web Microsoft Dataverse, ils suivent tous un processus et une structure similaires décrits dans cette rubrique.

Exemples d’API Web utilisant Javascript côté client

Les exemples suivants utilisent les critères décrits ici :

Exemple Exemple de groupe Description
Exemple d’opérations de base de l’API Web (Javascript côté client) Exemple d’opérations de base de l’API Web Montre comment créer, récupérer, mettre à jour, supprimer, associer et dissocier des lignes de tables Dataverse (enregistrements d′entité).
Exemple de données de requête de l’API Web (Javascript côté client) Exemples de données de requête d’API Web Montre comment utiliser la syntaxe et les fonctions de requête OData v4 ainsi que les fonctions de requête Dataverse. Inclut une démonstration du travail avec des requêtes prédéfinies et de leur utilisation pour effectuer des requêtes. FetchXML
Exemple d’opérations conditionnelles de l’API Web (Javascript côté client) Exemple d’opérations conditionnelles de l’API Web Montre comment exécuter des opérations conditionnelles. Le comportement de ces opérations dépend des critères que vous spécifiez.
Exemple de fonctions et d’actions de l’API Web (JavaScript côté client) Exemple de fonctions et d’actions de l’API Web Montre comment utiliser les fonctions et les actions liées et non liées, notamment les actions personnalisées.

Comment télécharger le code source de l’exemple.

Le code source de chaque exemple est disponible sur GitHub. Le lien de téléchargement de chaque exemple est inclus dans la page individuelle de cet exemple.

Après avoir téléchargé l’exemple, extrayez le fichier compressé. Trouvez la solution pour chaque exemple dans le dossier C# car le projet est un projet d′application web ASP.NET vide. Une solution Dataverse est également fournie dans le téléchargement que vous pouvez importer et exécuter.

Notes

Ni Visual Studio ni ASP.NET ne sont nécessaires pour développer JavaScript côté client pour Dataverse. Toutefois, Visual Studio fournit une excellente expérience pour écrire JavaScript.

Comment importer la solution Dataverse qui contient l’exemple.

Dans chaque projet vous trouverez un fichier de solution gérée Dataverse. Le nom de ce fichier dépend du nom du projet de l’exemple, mais le nom du fichier s’achève avec _managed.zip.

Pour importer la solution Dataverse dans votre serveur Dataverse, procédez comme suit :

  1. Extrayez le contenu du fichier zip téléchargé et recherchez le fichier de solution Dataverse, qui sera également un fichier zip. Par exemple, si vous avez téléchargé l’exemple Basic Operations, recherchez le fichier zip de solution Dataverse avec le nom WebAPIBasicOperations\WebAPIBasicOperations_1_0_0_0_managed.zip.

  2. Dans l’interface utilisateur Dataverse, accédez à Paramètres > Solutions. Cette page répertorie toutes les solutions sur votre serveur Dataverse. Après avoir fini d’importer cette solution, le nom de la solution de cet exemple s’affiche dans cette liste (par exemple : Utilisation des notions de base de l’API Web).

  3. Sélectionnez Importer et suivez les instructions de la boîte de dialogue d′importation pour terminer cette action.

Comment exécuter l’exemple pour voir le script en action

L’exemple de programme fonctionne comme une ressource Web dans Dataverse. La solution importée fournit une page de configuration qui vous donne la possibilité de conserver ou de supprimer des exemples de données et un bouton pour démarrer l’exemple de programme.

Pour exécuter l’exemple, procédez comme suit :

  1. Dans la page Toutes les solutions dans Dataverse, sélectionnez le nom de la solution (par ex. : lien Opérations de base de l′API web). Cela ouvre les propriétés de la solution dans une nouvelle fenêtre.

  2. Dans le menu de navigation de gauche, sélectionnez Configuration.

  3. Cliquez sur le bouton Exemple de démarrage pour exécuter l′exemple de code.

Éléments communs disponibles dans chaque exemple

La liste suivante met en évidence certains éléments courants trouvés dans chacun de ces exemples.

  • La fonction Sdk.startSample est appelée lorsqu′un utilisateur clique sur le bouton Exemple de démarrage dans la page HTML. La fonction Sdk.startSample initialise les variables globales et déclenche la première opération dans la chaîne.

  • Les messages de programme et d’erreur sont envoyés à la console du débogueur du navigateur. Pour afficher ces messages, ouvrez la fenêtre de la console avant d’exécuter l’exemple. Appuyez sur F12 pour accéder aux outils de développement, dont la fenêtre de la console, dans le navigateur Microsoft Edge.

  • Ces exemples utilisent l’implémentation ES6-Promise native des navigateurs modernes qui la prennent en charge.

    Les Promises sont facultatives. Des interactions similaires peuvent être effectuées à l’aide des fonctions de rappel.

  • La fonction Sdk.request gère la demande en fonction des informations transmises en tant que paramètres. En fonction des besoins de chaque exemple, les paramètres transmis peuvent être différents. Consultez le code source de cet exemple pour plus de détails.

    /**
    * @function request
    * @description Generic helper function to handle basic XMLHttpRequest calls.
    * @param {string} action - The request action. String is case-sensitive.
    * @param {string} uri - An absolute or relative URI. Relative URI starts with a "/".
    * @param {object} data - An object representing an entity. Required for create and update actions.
    * @returns {Promise} - A Promise that returns either the request object or an error object.
    */
    Sdk.request = function (action, uri, data) {
      if (!RegExp(action, "g").test("POST PATCH PUT GET DELETE")) {
        // Expected action verbs.
        throw new Error(
          "Sdk.request: action parameter must be one of the following: " +
            "POST, PATCH, PUT, GET, or DELETE."
        );
      }
      if (!typeof uri === "string") {
        throw new Error("Sdk.request: uri parameter must be a string.");
      }
      if (
        RegExp(action, "g").test("POST PATCH PUT") &&
        (data === null || data === undefined)
      ) {
        throw new Error(
          "Sdk.request: data parameter must not be null for operations that create or modify data."
        );
      }
    
      // Construct a fully qualified URI if a relative URI is passed in.
      if (uri.charAt(0) === "/") {
        uri = clientUrl + webAPIPath + uri;
      }
    
      return new Promise(function (resolve, reject) {
        var request = new XMLHttpRequest();
        request.open(action, encodeURI(uri), true);
        request.setRequestHeader("OData-MaxVersion", "4.0");
        request.setRequestHeader("OData-Version", "4.0");
        request.setRequestHeader("Accept", "application/json");
        request.setRequestHeader(
          "Content-Type",
          "application/json; charset=utf-8"
        );
        request.onreadystatechange = function () {
          if (this.readyState === 4) {
            request.onreadystatechange = null;
            switch (this.status) {
              case 200: // Success with content returned in response body.
              case 204: // Success with no content returned in response body.
                resolve(this);
                break;
              default: // All other statuses are unexpected so are treated like errors.
                var error;
                try {
                  error = JSON.parse(request.response).error;
                } catch (e) {
                  error = new Error("Unexpected Error");
                }
                reject(error);
                break;
            }
          }
        };
        request.send(JSON.stringify(data));
      });
    };
    

    La fonction Sdk.request renvoie une Promise. Lorsque la demande encapsulée par la Promise est terminée, la Promise est résolue ou rejetée. Si elle est résolue, la fonction de la méthode then suivante est appelée. Si elle est rejetée, la fonction de la méthode catch suivante est appelée. Si la fonction de la méthode then elle-même renvoie une promesse, la chaîne des opérations dans les méthodes consécutives then peut continuer. Renvoyer une Promise nous permet d’enchaîner ces exemples d’opérations ensemble d’une manière privilégiée par de nombreux développeurs à des fonctions de rappel traditionnelles. Pour plus d’informations sur la Promise, voir JavaScript Promise.

Voir aussi

Utilisation de l’API web Dataverse
Exemples d’API Web
Exemples de l’API Web (C#)

Notes

Pouvez-vous nous indiquer vos préférences de langue pour la documentation ? Répondez à un court questionnaire. (veuillez noter que ce questionnaire est en anglais)

Le questionnaire vous prendra environ sept minutes. Aucune donnée personnelle n’est collectée (déclaration de confidentialité).