Знакомство со службой REST в SharePoint
В SharePoint реализована служба передачи репрезентативного состояния (REST), сравнимая с уже имеющимися клиентскими объектными моделями. Теперь разработчики могут удаленно работать с данными SharePoint при помощи любой технологии, поддерживающей веб-запросы REST. Это означает, что разработчики могут выполнять операции создания, чтения, обновления и удаления (CRUD) из надстроек, решений и клиентских приложений для SharePoint, используя веб-технологии REST и стандартный синтаксис протокола OData (Open Data Protocol).
Необходимые компоненты
В этой статье предполагается, что у вас есть базовое представление о службе REST и создании запросов REST.
Принцип работы службы REST в SharePoint
В SharePoint появилась возможность удаленной работы с сайтами SharePoint с помощью REST. Теперь вы можете взаимодействовать непосредственно с объектами SharePoint, используя любую технологию, поддерживающую стандартные возможности REST.
Для доступа к ресурсам SharePoint с помощью REST необходимо создать HTTP-запрос RESTful, используя стандарт OData, который соответствует нужному API клиентской объектной модели. Например:
Веб-служба client.svc в SharePoint обрабатывает HTTP-запрос и возвращает отклик в формате Atom или нотации объектов JavaScript (JSON). Затем клиентское приложение должно проанализировать этот ответ. Ниже показано высокоуровневое представление архитектуры REST в SharePoint.
Архитектура службы REST в SharePoint
Благодаря функциональности и простоте использования этих клиентских объектных моделей разработчики чаще всего применяют их для обмена данными с сайтами SharePoint, используя .NET Framework, Silverlight (теперь не рекомендуется) или JavaScript (JSOM).
Использование команд HTTP со службой REST в SharePoint
Чтобы использовать возможности REST, встроенные в SharePoint, необходимо создать HTTP-запрос RESTful, используя стандарт OData, соответствующий нужному API клиентской объектной модели. Веб-служба client.svc обрабатывает HTTP-запрос и возвращает ответ в формате Atom или JSON. Затем клиентское приложение должно проанализировать этот ответ.
Конечные точки в службе REST SharePoint соответствуют типам и элементам клиентских объектных моделей SharePoint. С помощью HTTP-запросов вы можете использовать эти конечные точки REST, чтобы выполнять типичные операции CRUD с объектами SharePoint, такими как списки и сайты.
Задача | HTTP-запрос | Примечания |
---|---|---|
Чтение ресурса | GET | |
Создание или обновление ресурса | POST |
|
Обновление или вставка ресурса | PUT |
|
Удаление ресурса | DELETE |
|
Составление URL-адресов REST для доступа к ресурсам SharePoint
Когда возможно, URI для этих конечных точек REST близко имитирует подпись API ресурса в клиентской объектной модели SharePoint. Главные точки входа для службы REST представляют семейство веб-сайтов и сайт указанного контекста.
Для доступа к определенному семейству веб-сайтов используйте следующую конструкцию:
https://{site_url}/_api/site
Для доступа к определенному сайту используйте следующую конструкцию:
https://{site_url}/_api/web
В обоих случаях server представляет имя сервера, а site — имя определенного сайта или путь к нему.
Начиная с этой отправной точки, вы можете составлять более конкретные URI REST, ''обходя" объектную модель с использованием имен API клиентской объектной модели, разделенных знаком косой черты (/).
Этот синтаксис неприменим к REST API SocialFeedManager и SocialFollowingManager. Дополнительные сведения см. в следующих статьях:
- Справочные материалы по REST API каналов социальных сетей для SharePoint
- Справочные материалы по REST API отслеживания пользователей и контента для SharePoint
Дополнительные рекомендации по определению URI конечных точек REST в SharePoint на основе подписи соответствующих API клиентской объектной модели см. в этой статье.
Примеры конечных точек REST в SharePoint
В приведенной ниже таблице представлены типичные примеры URL-адресов конечных точек REST, которые помогут вам приступить к работе с данными SharePoint. Чтобы составить полный URL-адрес REST, добавьте строку http://server/site/_api/
в начале фрагментов URL-адресов, представленных в таблице. При необходимости для команд POST в таблице приводятся примеры данных, которые необходимо передать в тексте HTTP-запроса для создания указанного элемента SharePoint. Элементы в кавычках представляют переменные, вместо которых следует подставить свои значения.
Описание | Конечная точка URL-адреса | Метод HTTP | Основное содержимое |
---|---|---|---|
Получает заголовок сайта | web/title |
GET | Не применимо |
Получает все списки на сайте | lists |
GET | Неприменимо |
Получает метаданные одного списка | lists/getbytitle('listname') |
GET | Не применимо |
Получает элементы списка | lists/getbytitle('listname')/items |
GET | Неприменимо |
Получает определенное свойство списка (в данном случае это заголовок списка) |
lists/getbytitle('listname')?select=Title |
GET | Не применимо |
Создает список | lists |
POST | См. пример |
Добавляет элемент в список | lists/getbytitle('listname')/items |
POST | См. пример |
Пример данных для создания списка:
{
"__metadata": {
"type": "SP.List"
},
"AllowContentTypes": true,
"BaseTemplate": 104 ,
"ContentTypesEnabled": true,
"Description": "My list description ",
"Title": "RestTest "
}
Пример данных для добавления элемента в список:
{
"__metadata": {
"type": "SP.Data.listname.ListItem"
},
"Title": "MyItem"
}
В приведенном выше фрагменте JSON замените строку listname на имя своего списка SharePoint, пропустив пробелы.
Поддержка пакетных заданий
Служба REST в SharePoint Online (а также локальной среде SharePoint 2016 или более поздней версии) поддерживает объединение нескольких запросов в один вызов службы с помощью параметра запроса OData $batch
. Подробные сведения и ссылки на примеры кода см. в статье Отправка пакетных запросов с помощью интерфейсов REST API.
Материалы по OData
- Разработка сервисноориентированных приложений с помощью WCF
- Open Data Protocol
- Соглашения об URI для протокола OData
- Адресация для операций службы
- Операции протокола OData
- Условия ошибок
Статьи, посвященные службе REST в SharePoint
Дополнительные сведения об использовании службы REST в SharePoint см. в перечисленных ниже ресурсах.
Название | Описание |
---|---|
Выполнение базовых операций с использованием конечных точек REST SharePoint | Узнайте, как выполнять операции CRUD (создание, чтение, обновление, удаление) с помощью интерфейса REST SharePoint. |
Работа со списками и элементами списков в службе REST | Узнайте, как выполнять основные операции CRUD со списками и их элементами при помощи интерфейса REST SharePoint. |
Работа с папками и файлами в службе REST | Узнайте, как выполнять основные операции CRUD с папками и файлами при помощи интерфейса REST SharePoint. |
Навигация по структуре данных SharePoint, представленной в службе REST | Начните с конечной точки REST для определенного элемента SharePoint и перейдите и получите доступ к связанным элементам, например родительским сайтам или структуре библиотеки, в которой находится этот элемент. |
Определение универсальных кодов ресурсов (URI) конечных точек службы SharePoint REST | Общие рекомендации по определению URI конечных точек REST в SharePoint на основе подписей соответствующих API клиентской объектной модели. |
Использование операций запросов OData в запросах REST SharePoint | Узнайте, как использовать широкий спектр операторов строки запроса OData для выбора, фильтрации и упорядочивания данных, запрашиваемых у службы REST SharePoint. |
Отправка пакетных запросов с помощью интерфейсов REST API | Узнайте, как объединить несколько запросов в один вызов службы REST. |
Синхронизация элементов SharePoint с помощью службы REST | Узнайте, как синхронизировать элементы между SharePoint и надстройками или службами с помощью ресурса GetListItemChangesSinceToken, входящего в состав службы REST в SharePoint. |
Отправка файла с помощью REST API и jQuery | В примерах кода в этой статье показано, как с помощью интерфейса REST и AJAX-запросов jQuery добавить локальный файл в библиотеку "Документы", а затем изменить свойства элемента списка, представляющего отправленный файл. |
Установка настраиваемых разрешений для списка с помощью интерфейса REST | Сайты, списки и элементы списков SharePoint относятся к типу SecurableObject, наследующему разрешения от родительского объекта. Чтобы задать особые разрешения для объекта, необходимо запретить ему наследовать разрешения от родительского объекта, а затем определить новые разрешения, добавив или удалив назначения ролей. |
Основные сведения о рабочих процессах SharePoint | Узнайте, как добавлять функции поиска в клиентские и мобильные приложения с помощью службы REST поиска в SharePoint Server 2013 и любой технологии, поддерживающей веб-запросы REST. |
Справочные материалы по REST API каналов социальных сетей для SharePoint | Конечные точки REST SharePoint для выполнения задач, связанных с каналами. |
Справочные материалы по REST API отслеживания пользователей и контента для SharePoint | Конечные точки REST SharePoint для подписки на людей и контент. |
Разработка надстроек SharePoint | Здесь вы найдете подробные статьи и ресурсы, которые помогут вам расширить возможности своих надстроек SharePoint. |