Создание подписки
Создает подписку на веб-перехватчики в списке 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());
}