Condividi tramite


Esempi di API Web (JavaScript lato client)

 

Data di pubblicazione: gennaio 2017

Si applica a: Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2016, Dynamics CRM Online

Questo argomento offre una visione comune sugli esempi dell'API Web utilizzando JavaScript lato client. Mentre ogni esempio descrive in dettaglio un aspetto diverso dell'API Web Microsoft Dynamics 365, tutti seguono un processo e una struttura simile come descritto in questo argomento.

In questo argomento

Esempi di API Web con JavaScript lato client

Come scaricare il codice sorgente dell'esempio.

Come importare la soluzione Dynamics 365 che contiene l'esempio.

Come eseguire l'esempio per visualizzare lo script in azione

Elementi comuni in ogni esempio

Esempi di API Web con JavaScript lato client

Gli esempi seguenti utilizzano i modelli descritti di seguito:

Esempio

Gruppo di esempi

Descrizione

Esempio di operazioni di base API Web (JavaScript lato client)

Esempio di operazioni di base dell'API Web

Dimostra come creare, recuperare, aggiornare, eliminare, associare e annullare l'associazione di record di entità Dynamics 365.

Esempio di dati di query API Web (JavaScript lato client)

Esempio di dati di query API Web

Dimostra come utilizzare la sintassi e funzioni di query OData v4 nonché le funzioni di query di Microsoft Dynamics 365. Include la dimostrazione di utilizzo con query predefinite e di uso di FetchXML per eseguire query.

Esempio di operazioni condizionali API Web (JavaScript lato client)

Esempio operazioni condizionali dell'API Web

Dimostra come eseguire operazioni condizionali. Il comportamento di queste operazioni dipende dai criteri specificati.

Esempio di azioni e funzioni API Web (JavaScript lato client)

Esempio di azioni e funzioni API Web

Dimostra come utilizzare le funzioni e le azioni associate e non associate, incluse le azioni personalizzate.

Come scaricare il codice sorgente dell'esempio.

Il codice sorgente per ogni esempio è disponibile in MSDN Code Gallery. Il collegamento per scaricare ogni esempio è incluso nella singola pagina dell'esempio.

Dopo aver scaricato l'esempio, estrai il file compresso. Individua la soluzione Visual Studio 2015 per ogni esempio nella cartella C# perché il progetto è un progetto dell'applicazione Web ASP.NET vuoto. Una soluzione Dynamics 365 viene fornita nel download che puoi importare ed eseguire.

Nota

Né Microsoft Visual Studio né ASP.NET sono necessari per creare JavaScript lato client per Dynamics 365, ma il sito della raccolta del codice di MSDN richiede che i file vengano inclusi in Microsoft Visual Studio come contenitore. Tuttavia, Microsoft Visual Studio offre una buona esperienza per la scrittura di JavaScript.

Come importare la soluzione Dynamics 365 che contiene l'esempio.

In ogni progetto è disponibile un file di soluzione gestita Microsoft Dynamics 365. Il nome del file dipende dal nome del progetto di esempio, ma termina con _managed.zip.

Per importare la soluzione Dynamics 365 nel server Dynamics 365, esegui le operazioni seguenti:

  1. Estrai il contenuto del file ZIP scaricato e individua il file della soluzione Dynamics 365 che sarà un altro file ZIP. Ad esempio, se hai scaricato l'esempio Basic Operations, cerca il file ZIP della soluzione Dynamics 365 con il nome WebAPIBasicOperations\WebAPIBasicOperations_1_0_0_0_managed.zip.

  2. Nell'interfaccia utente di Dynamics 365 vai a Impostazioni > Soluzioni. In questa pagina vengono elencate tutte le soluzioni presenti nel server Dynamics 365. Dopo aver completato di importare la soluzione, il nome della soluzione per questo esempio verrà visualizzato nell'elenco, ad esempio: Operazioni di base API Web).

  3. Fai clic su Importa e segui le istruzioni nella finestra di dialogo per l'importazione per completare questa azione.

Come eseguire l'esempio per visualizzare lo script in azione

Il programma di esempio viene eseguito come risorsa Web in Dynamics 365. La soluzione importata fornisce una pagina di configurazione che offre un'opzione per mantenere o eliminare i dati di esempio e un pulsante per avviare il programma di esempio. Per l'esempio Basic Operations, questa interfaccia ha l'aspetto simile al seguente.

Dynamics 365 Web API Sample Configuration page

Per eseguire l'esempio, eseguire le operazioni seguenti:

  1. Nella pagina Tutte le soluzioni di Dynamics 365, fare clic sul nome della soluzione, ad esempio: il collegamento Operazioni di base API Web ). Verrà aperta una nuova finestra con le proprietà della soluzione.

  2. Dal menu di spostamento a sinistra fai clic su Configurazione.

  3. Fai clic sul pulsante Avvia esempio per eseguire il codice di esempio.

Elementi comuni in ogni esempio

Nell'elenco seguente vengono evidenziati alcuni elementi comuni presenti in ognuno di tali esempi.

  • La funzione Sdk.startSample viene chiamata quando un utente fa clic sul pulsante Avvia esempio nella pagina HTML. La funzione Sdk.startSample inizializza le variabili globali e avvia la prima operazione della catena.

  • I messaggi di output e di errore del programma vengono inviati alla console di debugger del browser. Per visualizzare questi output, apri la finestra della console prima di eseguire l'esempio. Premi F12 per accedere agli strumenti di sviluppo, inclusa la finestra della console, nei browser Windows Internet Explorer e Microsoft Edge.

  • Questi esempi utilizzano l'implementazione nativa ES6-Promise del browser per i browser moderni che la supportano. Per Internet Explorer 11, questo esempio utilizza ES6-Promise polyfill perché Internet Explorer 11 è l'unico browser supportato da Microsoft Dynamics 365 che non dispone del supporto nativo per questa funzionalità.

    Le promesse non sono obbligatorie. Interazioni simili possono essere eseguite con le funzionalità di richiamata. Per ulteriori informazioni, vedere Creare una funzione riutilizzabile utilizzando le promesse.

  • La funzione Sdk.request gestisce la richiesta in base alle informazioni passate nei parametri. A seconda delle necessità di ogni esempio, i parametri passati possono essere diversi. Vedi il codice sorgente dell'esempio per ulteriori informazioni.

    /**
     * @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 funzione Sdk.request restituisce una promessa. Quando la richiesta inclusa nella promessa viene completata, la promessa viene risolta o rifiutata. Se viene risolta, la funzione nel metodo seguente then viene chiamata. Se viene rifiutata, la funzione nel metodo seguente catch viene chiamata. Se la funzione nel metodo then restituisce una promessa, la catena delle operazioni nei metodi consecutivi then può continuare. La restituzione di una promessa consente a Microsoft di concatenare queste operazioni di esempio insieme in modo da diventare una soluzione preferita per molti sviluppatori rispetto alle funzioni di richiamata tradizionali. Per ulteriori informazioni su una promessa, vedi Promessa JavaScript.

Vedere anche

Utilizzare l'API Web di Microsoft Dynamics 365
Esempi di API Web
Esempi di API Web (C#)
Esempio di operazioni di base API Web (JavaScript lato client)
Esempio di dati di query API Web (JavaScript lato client)
Esempio operazioni condizionali dell'API Web
Esempio di azioni e funzioni API Web (JavaScript lato client)

Microsoft Dynamics 365

© 2017 Microsoft. Tutti i diritti sono riservati. Copyright