Partager via


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 REST (Representational State Transfer) pour Business Connectivity Services (BCS). Cet article décrit la configuration d’une liste externe qui récupère des données 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 vous permet d’accéder à des données externes à l’aide d’une URL spécialement créée. Pour comprendre comment son fonctionnement et son utilisation, consultez les articles suivants.

Tableau 1. Concepts de base pour 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. Specify the app settings, including app name, the site URL for debugging the app, and how you want to host the app (Autohosted, Provider-hosted, SharePoint-hosted). Pour plus d’informations sur les options d’hébergement, voir Choisir des modèles pour le développement et l’hébergement de votre complément 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 à https://www.odata.org/ecosystem. Définissez l’URL du service OData sur http://services.odata.org/Northwind/Northwind.svc/et fournissez 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 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