Crear una suscripción
Crea una nueva suscripción de webhook en una lista de SharePoint.
Permisos
La aplicación debe tener al menos permisos de edición en la lista de SharePoint donde se creará la suscripción.
Si la aplicación es una aplicación de Microsoft Azure Active Directory (Azure AD)
Debe conceder a la aplicación de Azure AD los permisos que se especifican en la siguiente tabla:
Aplicación | Permiso |
---|---|
Office 365 SharePoint Online | Leer y escribir elementos y listas en todas las colecciones de sitios. |
Si la aplicación es un complemento de SharePoint
Debe conceder al complemento de SharePoint los siguientes permisos u otros superiores:
Ámbito | Derechos de permiso |
---|---|
Lista | Administrar |
Solicitud HTTP
POST /_api/web/lists('list-id')/subscriptions
Cuerpo de la solicitud
Incluya las siguientes propiedades en el cuerpo de la solicitud.
Nombre | Tipo | Descripción |
---|---|---|
resource | string | La dirección URL de la lista de la que se van a recibir las notificaciones. |
notificationUrl | string | La dirección URL del servicio a la que se van a enviar las notificaciones. |
expirationDateTime | date | La fecha en que expirará la notificación y se eliminará. |
clientState | string | Opcional. Cadena opaca que se ha pasado al cliente en todas las notificaciones. Puede usarla para validar las notificaciones o etiquetar suscripciones diferentes. |
Ejemplo
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"
}
Respuesta
Si se ha agregado la suscripción, se devuelve una respuesta de 201 Created
que incluye el objeto de suscripción recién creado.
Ejemplo
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"
}
Validación de URL
Importante
Antes de crear una nueva suscripción, SharePoint envía una solicitud con un token de validación en la cadena de consulta de la solicitud a la dirección URL de notificación proporcionada. Su servicio debe responder a esta solicitud devolviendo el token de validación. Si el servicio no puede validar la solicitud de esta manera, no se crea la suscripción.**
Ejemplo
{
return new OkObjectResult(req.Query["validationtoken"].ToString());
}