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


Создание подписки

Создает подписку на веб-перехватчики в списке SharePoint.

Разрешения

У приложения должно быть разрешение на изменение списка SharePoint, в котором создается подписка.

Если приложение является приложением Microsoft Azure Active Directory (AD)

Приложению Azure AD необходимо предоставить разрешения, указанные в следующей таблице:

Приложение Разрешение
SharePoint Online в Office 365 Чтение и запись элементов и списков во всех семействах веб-сайтов.

Если приложение является надстройкой SharePoint

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

Область Разрешения
Список Управление

HTTP-запрос

POST /_api/web/lists('list-id')/subscriptions

Текст запроса

Включите в запрос указанные ниже свойства.

Имя Тип Описание
resource строка URL-адрес списка для получения уведомлений.
notificationUrl строка URL-адрес службы для отправки уведомлений.
expirationDateTime дата Срок хранения уведомления.
clientState string Необязательный. Непрозрачная строка, которая передается клиенту со всеми уведомлениями.
Ее можно использовать для проверки уведомлений или маркировки различных подписок.

Пример

POST /_api/web/lists('5C77031A-9621-4DFC-BB5D-57803A94E91D')/subscriptions
Accept: application/json
Content-Type: application/json

{
  "resource": "https://contoso.sharepoint.com/_api/web/lists('5C77031A-9621-4DFC-BB5D-57803A94E91D')",
  "notificationUrl": "https://91e383a5.ngrok.io/api/webhook/handlerequest",
  "expirationDateTime": "2016-04-27T16:17:57+00:00"
}

Ответ

Если подписка добавлена, возвращается ответ 201 Created, который содержит новый объект подписки.

Пример

HTTP/1.1 201 Created
Content-Type: application/json

{
    "id": "a8e6d5e6-9f7f-497a-b97f-8ffe8f559dc7",
    "expirationDateTime": "2016-04-27T16:17:57Z",
    "notificationUrl": "https://91e383a5.ngrok.io/api/webhook/handlerequest",
    "resource": "5c77031a-9621-4dfc-bb5d-57803a94e91d"
}

Проверка URL-адреса

Важно!

Перед созданием новой подписки SharePoint отправляет запрос с маркером проверки в тексте запроса запроса на указанный URL-адрес уведомления. Служба должна ответить на него, вернув токен проверки. Если вашей службе не удается проверить запрос таким образом, подписка не создается.**

Пример

{
  return new OkObjectResult(req.Query["validationtoken"].ToString());
}

См. также