Partager via


Création d’un abonnement

Crée un nouvel abonnement de webhook sur une liste SharePoint.

Autorisations

L’application doit au moins disposer de droits d’accès en modification à la liste SharePoint dans laquelle l’abonnement est créé.

Si votre application est une application Microsoft Azure Active Directory (Azure AD) :

Vous devez accorder à l’application Azure AD les autorisations indiquées dans le tableau suivant :

Application Autorisation
Office 365 SharePoint Online Lire et écrire des éléments et des listes dans toutes les collections de sites.

Si votre application est un complément SharePoint :

Vous devez accorder au complément SharePoint les autorisations suivantes ou des autorisations supérieures :

Domaine d’application Droits d’autorisation
Répertorier Gérer

Requête HTTP

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

Corps de la demande

Inclure les propriétés suivantes dans le corps de la requête.

Nom Type Description
ressource chaîne URL de la liste à partir de laquelle vous souhaitez recevoir des notifications.
notificationUrl chaîne URL du service auquel envoyer des notifications.
expirationDateTime date Date à laquelle la notification arrivera à expiration et sera supprimée.
clientState string Facultatif. Chaîne opaque renvoyée au client pour toutes les notifications.
Vous pouvez utiliser cette chaîne pour valider les notifications ou marquer différents abonnements.

Exemple

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"
}

Réponse

Si l’abonnement est ajouté, une réponse 201 Created contenant l’objet d’abonnement nouvellement créé est renvoyée.

Exemple

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"
}

Validation d’URL

Importante

Avant la création d’un abonnement, SharePoint envoie une requête avec un jeton de validation dans la chaîne de requête de la demande à l’URL de notification fournie. Votre service doit répondre à cette demande en renvoyant le jeton de validation. Si votre service ne parvient pas à valider la demande de cette façon, l’abonnement n’est pas créé.**

Exemple

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

Voir aussi