Exemples d'API Web (Javascript côté client)

 

Date de publication : janvier 2017

S’applique à : Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2016, Dynamics CRM Online

Cette rubrique permet d'avoir une compréhension commune des exemples d'API Web utilisant JavaScript côté client. Bien que chaque exemple soit axé sur un aspect différent de l'API Web Microsoft Dynamics 365, ils suivent tous un processus et une structure similaires décrits dans cette rubrique.

Contenu de la rubrique

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

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

Comment importer la solutions Dynamics 365 qui contient l'exemple.

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

Éléments communs disponibles dans chaque exemple

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, extraire, mettre à jour, supprimer, associer et dissocier des enregistrements d'entité Dynamics 365.

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 Microsoft Dynamics 365. Contient une démonstration de l'utilisation de requêtes prédéfinies et d'utilisation de FetchXML pour exécuter des requêtes.

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 dans la galerie de codes MSDN. 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é. Recherchez la solution Visual Studio 2015 pour chaque exemple situé dans le dossier C# car le projet est un projet de l'application Web ASP.NET vide. Une solution Dynamics 365 est également fournie dans le téléchargement que vous pouvez importer et exécuter.

Notes

Ni Microsoft Visual Studio, ni ASP.NET n'est requis pour développer JavaScript côté client pour Dynamics 365, mais le site de galerie de codes MSDN nécessite que les fichiers soient inclus dans un Microsoft Visual Studio comme conteneur. Toutefois, Microsoft Visual Studio fournit une excellente expérience pour écrire JavaScript.

Comment importer la solutions Dynamics 365 qui contient l'exemple.

Dans chaque projet vous trouverez un fichier de solution gérée Microsoft Dynamics 365. 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 Dynamics 365 dans votre serveur Dynamics 365, procédez comme suit :

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

  2. Dans l'interface utilisateur Dynamics 365, accédez à Paramètres > Solutions. Cette page répertorie toutes les solutions sur votre serveur Dynamics 365. 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. Cliquez sur Importer et suivez les instructions de la boîte de dialogue d'importation pour terminer cette opération.

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

L'exemple de programme fonctionne comme une ressource Web dans Dynamics 365. 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 l'exemple Basic Operations, cette interface ressemble à ce qui suit.

Dynamics 365 Web API Sample Configuration page

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

  1. Dans la page Toutes les solutions de Dynamics 365, cliquez sur le nom de la solution (par exemple : lien Utilisation des notions 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, cliquez sur Configuration.

  3. Cliquez sur le bouton Démarrer l'exemple 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 Démarrer l'exemple de 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, notamment la fenêtre de la console, dans les navigateurs Windows Internet Explorer et Microsoft Edge.

  • Ces exemples utilisent l'implémentation ES6-Promise native des navigateurs modernes qui la prennent en charge. Pour Internet Explorer 11, cet exemple utilise Polyfill ES6-Promise car Internet Explorer 11 est le seul navigateur pris en charge par Microsoft Dynamics 365 qui n'a pas de prise en charge native pour cette fonctionnalité.

    Les Promises sont facultatives. Des interactions similaires peuvent être effectuées à l'aide des fonctions de rappel. Pour plus d'informations, voir Créer une fonction réutilisable à l'aide des promesses.

  • 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

Utilisez l'API Web Microsoft Dynamics 365
Exemples d'API Web
Exemples de l'API Web (C#)
Exemple d'opérations de base de l'API Web (Javascript côté client)
Exemple de données de requête de l'API Web (Javascript côté client)
Exemple d'opérations conditionnelles de l'API Web
Exemple de fonctions et d'actions de l'API Web (JavaScript côté client)

Microsoft Dynamics 365

© 2017 Microsoft. Tous droits réservés. Copyright