Доступ к внешним данным с помощью REST в SharePoint

Узнайте, как получить доступ к внешним данным из SharePoint с использованием URL-адресов REST для служб Business Connectivity Services (BCS). В этой статье описывается настройка внешнего списка для получения данных их источника OData.

Предварительные требования для доступа к внешним данным с помощью REST

Для доступа к внешним данным из SharePoint с помощью REST требуется:

  • SharePoint;
  • Visual Studio 2012
  • Инструменты разработчика Office для Visual Studio 2012
  • Работая среда разработки надстроек SharePoint. Следуйте инструкциям в разделе Настройка общей среды разработки для SharePoint.
  • Доступ к общедоступным производителям OData.org

Основные понятия, которые необходимо знать при доступе к внешним данным с помощью REST

Служба REST SharePoint дает возможность получать доступ к внешним данным с помощью особым образом сформированных URL-адресов. Порядок работы и использования этой функции см. в следующих статьях.

Таблица 1. Основные понятия rest в SharePoint

Название статьи Описание
Программирование с использованием службы SharePoint REST Узнайте, как использовать службу REST SharePoint, предоставляющую интерфейс программирования REST, сравнимый с существующей клиентской объектной моделью.
Знакомство со службой REST SharePoint Основы использования службы REST в SharePoint для чтения и обновления данных в SharePoint по стандартам веб-протоколов REST и OData.
Выполнение базовых операций с использованием конечных точек REST SharePoint Узнайте, как перемещаться по структуре данных SharePoint в том виде, в каком она предоставлена в службе REST, как выполнять распространенные операции CRUD (создание, чтение, обновление, удаление) с элементами SharePoint с помощью службы REST, как синхронизировать элементы SharePoint между приложениями, как управлять параллелизмом элементов.

Создание надстройки SharePoint для доступа к внешним данным с помощью REST

Следующие процедуры рекомендации по установке Надстройка SharePoint и настройке веб-страницы мог выполнять запросы, с помощью функции REST для извлечения данных из внешнего источника данных.

Создание надстройки SharePoint

  1. Откройте Visual Studio 2012 или более поздней версии.
  2. Создайте проект Приложение для SharePoint.
  3. Укажите параметры приложения, включая имя приложения, URL-адрес сайта для отладки приложения, и как будут размещены приложения (автоматическим размещением, размещением у поставщика, размещенных в SharePoint). Дополнительные сведения о вариантах размещения см. в статье Выбор шаблонов для разработки и размещения надстройки SharePoint.
  4. Нажмите кнопку Готово, чтобы создать приложение.

Создание внешнего типа содержимого

  1. В Обозревателе решений откройте контекстное меню для проекта и выберите команду Добавить, Типы контента для внешнего источника данных.

  2. На странице Указание источника OData введите URL-адрес службы OData, который требуется подключение к. В этом случае используйте источника Northwind OData, опубликованные в https://www.odata.org/ecosystem. Задайте URL-адрес службы http://services.odata.org/Northwind/Northwind.svc/OData и укажите имя источника данных.

    Нажмите кнопку Далее.

  3. Эта команда выводит список сущностей данные, предоставляемые интерфейсом службы OData. Выберите лицо, Клиенты. Убедитесь, что установлен флажок создать экземпляры списков для выбранных данных сущностей (за исключением операции службы).

  4. Нажмите кнопку Готово.

Пример кода: добавление сценариев и HTML на страницу Home.aspx

На этом этапе у вас есть внешний тип содержимого и внешний список, отображающий данные из источника OData Northwind.

Далее основная задача заключается в том, чтобы изменить страницу default.aspx, созданную при создании приложения. Добавьте контейнер для хранения результатов запроса, который выполняется с помощью загрузки страницы. Выполнение сценариев на события загрузки страницы, убедитесь, что скрипт будет выполняться каждый раз при просмотре страницы, а полученные вызовы REST выполняются в источник данных "Борей" OData для добавления записей на страницу.

Добавление контейнера на страницу Default.aspx

  1. В Обозревателе решений откройте страницу Default.aspx в модуле страниц.
  2. Добавьте следующий элемент div на страницу.
<div id="displayDiv"></div>
  1. Сохраните страницу.

И, наконец добавьте код в файл App.js, который выполняется при загрузке страницы.

Изменение файла App.js для осуществления вызовов REST

  1. Откройте файл App.js в модуле Скрипты проекта SharePoint.
  2. Вставьте следующий код в конец файла.
$(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();
}

Нажмите клавишу F5, чтобы развернуть приложение для SharePoint. Перейдите на страницу Default.aspx в приложении и на странице отображается список клиентов.

См. также