Поделиться через


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

Узнайте, как использовать клиентская объектная модель SharePoint для работы с объектами Business Connectivity Services (BCS) в SharePoint с помощью браузерных сценариев.

В этой статье показано, как настроить внешний список, который извлекает данные из источника open data protocol (OData) с помощью клиентской объектной модели в SharePoint.

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

Ниже приведены требования к возможности разработки приложений с использованием клиентской объектной модели SharePoint.

  • SharePoint

  • Visual Studio 2012

  • Инструменты разработчика Office для Visual Studio 2012

  • Работая среда разработки надстроек SharePoint. Следуйте инструкциям в разделе Настройка общей среды разработки для SharePoint.

  • Доступ к общедоступным производителям OData.org

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

Клиентская объектная модель SharePoint предоставляет способ доступа к внешним данным с помощью вызовов на стороне клиента, которые имитируют ИНТЕРФЕЙСы API на стороне сервера. Чтобы понять, как это работает и как его использовать, обратитесь к статьям в таблице 1.

Таблица 1. Основные понятия использования клиентской объектной модели

Статья Описание
Выполнение базовых операций с использованием кода библиотеки клиента в SharePoint
Узнайте, как писать код для создания базовых операций с помощью клиентской объектной модели SharePoint платформа .NET Framework (CSOM).

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

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

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

  1. Откройте Visual Studio 2012.

  2. Создайте проект Приложение для SharePoint.

  3. Укажите параметры приложения, включая имя приложения, URL-адрес сайта для отладки приложения, и как будут размещены приложения (автоматическим размещением, размещением у поставщика, размещенных в SharePoint). Дополнительные сведения о вариантах размещения см. в статье Выбор шаблонов для разработки и размещения надстройки SharePoint.

  4. Нажмите кнопку Готово для создания приложения.

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

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

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

    Укажите имя для источника данных и нажмите кнопку Далее.

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

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

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

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

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

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

  1. В Обозревателе решений откройте страницу Default.aspx, расположенной в модуле страниц.

  2. Добавьте следующий элемент div на страницу:

  
<div id="displayDiv"></div>
  1. Сохраните страницу.

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

Чтобы изменить файл App.js для облегчения клиента вызывает объектной модели

  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 в приложении и на странице отображается список клиентов.

См. также