Web API Beispiele (Clientseitiges JavaScript)

 

Veröffentlicht: Januar 2017

Gilt für: Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2016, Dynamics CRM Online

In diesem Thema behandeln wir das allgemeine Verständnis für Web API-Beispiele mithilfe dem clientseitigen JavaScript. Während sich jedes Beispiel auf einen anderen Aspekt beim Microsoft Dynamics 365 Web API fokussiert, folgen sie alle ähnlichen Prozessen und Strukturen, die in diesem Thema beschrieben werden.

In diesem Thema

Web API Beispiele die clientseitiges JavaScript verwenden

Wie der Quellcode für das Beispiel heruntergeladen wird.

So importieren Sie Dynamics 365-Lösungen, die das Beispiel beinhaltet.

Wie ein Beispiel ausgeführt wird, um das Skript in Aktion zu sehen

Allgemeine Elemente in jedem Beispiel

Web API Beispiele die clientseitiges JavaScript verwenden

Die folgenden Beispiele verwenden die Muster, die hier beschriebene werden:

Probe

Beispielgruppe

Beschreibung

Beispiele grundlegender Web API-Operationen (clientseitiges JavaScript)

Beispiel grundlegender Web-API-Operationen

Veranschaulicht, wie Dynamics 365 Entitätsdatensätze erstellt, abgerufen, aktualisiert, gelöscht zugeordnet und aufgehoben werden.

Web API-Abfragedatenbeispiele (clientseitiges JavaScript)

Web API-Abfragedatenbeispiel

Veranschaulicht, wie OData v4 Abfragesyntax und -Funktionen und Microsoft Dynamics 365 Abfragefunktionen verwendet werden. Enthält Veranschaulichung des Arbeitens von vordefinierten Abfragen und die Verwendung von FetchXML, um Abfragen ausführen.

Beispiele bedingter Web API-Operationen (clientseitiges JavaScript)

Beispiel bedingter Web-API-Operationen

Veranschaulicht, wie bedingte Operationen ausgeführt werden. Die Verhaltensweisen der Vorgänge hängt von den Kriterien ab, die Sie angeben.

Beispiele von Web API-Funktionen und Aktionen (clientseitiges JavaScript)

Web API-Funktionen- und Aktionen-Beispiel

Veranschaulicht, wie Sie gebundene/ungebundene Funktionen und Aktionen, einschließlich benutzerdefinierte Aktionen verwenden.

Wie der Quellcode für das Beispiel heruntergeladen wird.

Der Quellcode für jedes Beispiel ist in der MSDN-Codegalerie verfügbar. Der Link, um jedes Beispiels herunterzuladen ist in den einzelnen Seiten für dieses Beispiel enthalten.

Nachdem Sie das Beispiel heruntergeladen haben, extrahieren Sie die komprimierte Datei. Durchsuchen Sie die Visual Studio 2015-Lösung für jedes Beispiel im C#-Ordners, da das Projekt ein leeres ASP.NET Webanwendungsprojekt ist. Eine Dynamics 365-Lösung wird auch im Download bereitgestellt, den Sie importieren und ausführen können.

Hinweis

Weder ist Microsoft Visual Studio oder ASP.NET erforderlich, damit ein clientseitiges JavaScript für Dynamics 365entwickelt werden kann, aber der MSDN Code-Galerie-Standort verlangt, dass Dateien in einem Microsoft Visual Studio als Container eingeschlossen werden. Allerdings gibt Microsoft Visual Studio eine gute Erfahrung, um JavaScript zu schreiben.

So importieren Sie Dynamics 365-Lösungen, die das Beispiel beinhaltet.

Für jeden Projekts finden Sie eine Microsoft Dynamics 365 Datei für die verwaltete Lösung. Der Name dieser Datei hängt vom Projektnamen des Beispiel ab, aber der Dateiname endet mit _managed.zip.

Wenn Sie die Dynamics 365Lösung für Ihren Dynamics 365 Server importieren, gehen Sie folgendermaßen vor:

  1. Extrahieren Sie die Inhalte der heruntergeladenen ZIP-Datei und suchen Sie die Dynamics 365 Lösungsdatei, die auch eine ZIP-Datei ist. Wenn Sie das Basic Operations Beispiel heruntergeladen haben, suchen Sie die Dynamics 365 Zip-Datei mit dem, Namen der Lösung WebAPIBasicOperations\WebAPIBasicOperations_1_0_0_0_managed.zip

  2. Auf der Dynamics 365UI gehen Sie auf Einstellungen > Lösungen Auf dieser Seite werden alle Lösungen auf dem Dynamics 365 Server angezeigt. Nachdem Sie die Lösung importiert haben, wird der Lösungsname für dieses Beispiel in dieser Liste dargestellt(z. B.: Web API Grundlagen-Vorgänge).

  3. Klicken Sie auf Importierenund führen Sie die Schritte des Import-Assistenten aus, um den Importvorgang abzuschließen.

Wie ein Beispiel ausgeführt wird, um das Skript in Aktion zu sehen

Das Beispielprogramm wird als Webressource im Dynamics 365ausgeführt. Die importierte Lösung stellt eine Konfigurationsseite bereit, die Ihnen eine Option gibt, um Beispieldaten zu behalten oder zu löschen und eine Schaltfläche, um das Beispielprogramm zu starten. Das Basic Operations Beispiel, diese Schnittstelle sieht wie folgt aus.

Dynamics 365 Web API Sample Configuration page

Um das Beispiel auszuführen, gehen Sie wie folgt vor:

  1. Wählen Sie auf der Seite Alle Lösungen in Dynamics 365, klicken Sie auf den Lösungsnamen (z.: Link Internet von Grundlagen-Vorgänge ). Dies öffnet die Eigenschaften der Lösung in einem neuen Fenster.

  2. Im linken Navigationsmenü klicken Sie auf Konfiguration

  3. Klicken Sie auf die Schaltfläche Anfangsbeispiel, um den Beispielcode auszuführen.

Allgemeine Elemente in jedem Beispiel

In der folgenden Liste werden einige allgemeine Elemente markiert, die Beispiele in jedem dieser anzeigt.

  • Die Sdk.startSample-Funktion wird verwendet, wenn ein Benutzer auf die Schaltfläche Anfangsbeispiel klickt. Die Sdk.startSample-Funktion initialisiert globale Variablen und startet den ersten Vorgang in der Kette.

  • Programmausgabe und -Fehlermeldungen werden an die Debuggerkonsole des Browsers gesendet. Um die Ausgabe zu sehen, öffnen Sie das Konsolenfenster zuerst, bevor Sie das Beispiel ausführen. Klicken Sie F12, um auf die Entwicklertools zuzugreifen, einschließlich des Konsolenfensters im Windows Internet Explorer und Microsoft Edge Browser.

  • Diese Beispiele verwenden die systemeigene Implementierung ES6-Promise Implementierung für moderne Browsers, die das unterstützen. Für Internet Explorer 11verwendet dieses Beispiel ES6-Promise polyfill da Internet Explorer 11 der einzige Browser ist, der von Microsoft Dynamics 365 unterstützt wird, der keinen systemeigenen Support für diese Funktionalität hat.

    Versprechen sind nicht erforderlich. Ähnliche Interaktionen können mithilfe der Rückruffunktionen ausgeführt werden. Weitere Informationen finden Sie unter Erstellen einer wiederverwendbaren Funktion mit Promise-Objekten.

  • Die Sdk.request-Funktion bearbeitet die Anforderung anhand der Informationen, die als Parameter übergeben werden. Je nach Anforderung eines Beispiels können die weitergegebenen Parameter unterschiedlich sein. Weitere Informationen finden Sie im Quellcode dieses Beispiels.

    /**
     * @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));
        });
    };
    

    Die Sdk.request-Funktion gibt ein Versprechen zurück. Wenn die Anforderung, die vom Versprechen eingebunden ist, abgeschlossen ist, wird das Versprechen entweder aufgelöst oder abgelehnt. Wenn es abgeschlossen wird, ist die Funktion in der folgenden then-Methode bezeichnet. Wenn sie zurückgewiesen wird, wird die Funktion in der folgenden catch-Methode bezeichnet. Wenn die Funktion in der then Methode selber ein Versprechen zurück gibt, kann die Kette von Vorgängen in nachfolgenden then Methoden weitergeführt werden. Das Zurückgeben eines Versprechens gibt uns die Möglichkeit, diese Beispielvorgänge so zusammenzufassen, dass sie von vielen Entwicklern gegenüber traditionellen Rückruffunktionen bevorzugt wird. Weitere Informationen zu Versprechen, finden Sie unter Promise-Objekt (JavaScript).

Siehe auch

Verwenden der Microsoft Dynamics 365-Web-API
Web API Beispiele
Web API Beispiele (C#)
Beispiele grundlegender Web API-Operationen (clientseitiges JavaScript)
Web API-Abfragedatenbeispiele (clientseitiges JavaScript)
Beispiel bedingter Web-API-Operationen
Beispiele von Web API-Funktionen und Aktionen (clientseitiges JavaScript)

Microsoft Dynamics 365

© 2017 Microsoft. Alle Rechte vorbehalten. Copyright