Accès à des données externes à l’aide de REST dans SharePoint

Découvrez comment accéder à des données externes à partir de SharePoint à l’aide d’URL Representational State Transfer (REST) pour Business Connectivity Services (BCS). Cet article explique comment configurer une liste externe qui récupère des données à partir d’une source OData (Open Data Protocol).

Conditions préalables à l’accès à des données externes à l’aide de REST

Pour accéder à des données externes à partir de SharePoint à l’aide de REST, vous avez besoin des éléments suivants :

Principaux concepts à connaître lors de l’accès à des données externes avec REST

Le service REST SharePoint permet d’accéder aux données externes à l’aide d’une URL spécialement construite. Pour comprendre comment il fonctionne et comment l’utiliser, consultez les articles suivants.

Tableau 1. Concepts fondamentaux de REST dans SharePoint

Titre d’article Description
Utiliser les opérations de requête OData dans les demandes REST SharePoint
Découvrez comment utiliser le service REST SharePoint, qui fournit une interface de programmation REST comparable au modèle objet client existant.
Découvrir le service REST SharePoint
Acquérez les notions fondamentales de l’utilisation du service REST SharePoint pour accéder à des données SharePoint et les mettre à jour au moyen des protocoles web standard REST et OData.
Effectuer des opérations de base à l’aide de points de terminaison REST SharePoint
Découvrez comment naviguer dans la structure de données SharePoint comme représenté dans le service REST, effectuer des opérations CRUD (créer, lire, mettre à jour et supprimer) courantes sur des éléments SharePoint via le service REST, synchroniser des éléments SharePoint entre des applications et contrôler l’accès concurrentiel aux éléments.

Créer un complément SharePoint pour accéder à des données externes à l’aide de REST

Les procédures suivantes vous aideront à configurer un Complément SharePoint et configuration d'une page Web pour effectuer des requêtes à l'aide de fonctions REST pour récupérer des données à partir d'une source de données externe.

Pour créer un complément SharePoint

  1. Ouvrez Visual Studio 2012 ou version ultérieure.

  2. Créez un projet d’application pour SharePoint.

  3. Spécifier les paramètres d'application, y compris le nom de l'application, l'URL du site pour le débogage de l'application, et comment vous voulez héberger l'application (auto-hébergement, hébergé par le fournisseur, hébergée sur SharePoint). Pour plus d'informations sur les options d'hébergement, voir Choisir les modèles de développement et l'hébergement d'un complément pour SharePoint.

  4. Cliquez sur Terminer pour créer l'application.

Pour générer le type de contenu externe

  1. Dans L'Explorateur de solutions, ouvrez le menu contextuel du projet et choisissez Ajouter, Types de contenu pour la Source de données externe.

  2. Dans la page Spécifier la Source de OData, entrez l'URL du service OData que vous souhaitez vous connecter. Dans ce cas, utilisez la source Northwind OData publiée à http://www.odata.org/ecosystem. Définir l'URL du service OData pour http://services.odata.org/Northwind/Northwind.svc/et fournir un nom pour la source de données.

    Cliquez sur Suivant.

  3. Cette opération affiche la liste des entités de données qui sont exposés par le OData Service. Sélectionnez l'entité de clients. Vérifiez que la case à cocher créer des instances de liste pour les entités de données sélectionné (à l'exception des opérations de Service) est activée.

  4. Cliquez sur Terminer.

Exemple de code : ajouter des scripts et du code HTML à la page Home.aspx

À ce stade, vous avez un type de contenu externe et une liste externe qui affichera les données à partir de la source OData Northwind.

L'objectif suivant consiste à modifier la page default.aspx qui a été créée lorsque vous avez créé votre application. Vous allez ajouter un conteneur pour stocker les résultats de la requête est exécutée avec le chargement de la page. En exécutant les scripts de l'événement de chargement de page, vous assurez que le script est exécuté chaque fois que la page est explorée, et les appels REST qui en résulte sont apportées à la source Northwind OData pour ajouter des enregistrements à la page.

Pour ajouter le conteneur à la page Default.aspx

  1. Dans L'Explorateur de solutions, ouvrez la page Default.aspx dans le module de Pages.

  2. Ajoutez l'élément div suivant à la page.

  
<div id="displayDiv"></div>
  1. Enregistrez la page.

Enfin, vous ajoutez le code dans le fichier App.js qui s'exécute lorsque le chargement de la page.

Pour modifier le fichier App.js afin d’effectuer des appels REST

  1. Ouvrez le fichier App.js dans le module de Scripts de votre projet SharePoint.

  2. Collez le code suivant à la fin du fichier.

  $(document).ready(function () {

    // Namespace
    window.AppLevelECT = window.AppLevelECT || {};

    // Constructor
    AppLevelECT.Grid = function (hostElement, surlWeb) {
        this.hostElement = hostElement;
        if (surlWeb.length > 0 &amp;&amp; surlWeb.substring(surlWeb.length - 1, surlWeb.length) != "/")
            surlWeb += "/";
        this.surlWeb = surlWeb;
    }

    // Prototype
    AppLevelECT.Grid.prototype = {

        init: function () {

            $.ajax({
                url: this.surlWeb + "_api/lists/getbytitle('Customer')/items?$select=BdcIdentity,CustomerID,ContactName",
                headers: {
                    "accept": "application/json",
                    "X-RequestDigest": $("#__REQUESTDIGEST").val()
                },
                success: this.showItems
            });
        },

        showItems: function (data) {
            var items = [];

            items.push("<table>");
            items.push('<tr><td>Customer ID</td><td>Customer Name</td></tr>');

            $.each(data.d.results, function (key, val) {
                items.push('<tr id="' + val.BdcIdentity + '"><td>' +
                    val.CustomerID + '</td><td>' +
                    val.ContactName + '</td></tr>');
            });

            items.push("</table>");

            $("#displayDiv").html(items.join(''));
        }
    }

    ExecuteOrDelayUntilScriptLoaded(getCustomers, "sp.js");
});

function getCustomers() {
    var grid = new AppLevelECT.Grid($("#displayDiv"), _spPageContextInfo.webServerRelativeUrl);
    grid.init();
}

Appuyez sur F5 pour déployer l'application pour SharePoint. Accédez à la page Default.aspx dans l'application, et une liste de clients s'affiche dans la page.

Voir aussi