Compartilhar via


Criar uma nova assinatura

Cria uma nova assinatura de webhook em uma lista do SharePoint.

Permissões

O aplicativo deve ter pelo menos permissões de edição para lista do SharePoint em que a assinatura será criada.

Se o aplicativo for um aplicativo do Microsoft Azure AD (Azure AD)

Você deve conceder ao aplicativo do Azure AD as permissões especificadas na seguinte tabela:

Aplicativo Permissão
Office 365 SharePoint Online Ler e gravar listas e itens em todos os conjuntos de sites.

Se o aplicativo for um suplemento do SharePoint

Você deve conceder ao suplemento do SharePoint as permissões a seguir ou superiores:

Escopo Direitos de permissão
Listar Gerenciar

Solicitação HTTP

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

Corpo da solicitação

Inclua as propriedades a seguir no corpo da solicitação.

Nome Tipo Descrição
recurso cadeia de caracteres A URL da lista da qual receber notificações.
notificationUrl cadeia de caracteres A URL de serviço à qual enviar notificações.
expirationDateTime data A data na notificação expirará e será excluída.
clientState string Opcional. Cadeia de caracteres opaca passada ao cliente em todas as notificações.
Você pode usar isso para validar notificações ou marcar assinaturas diferentes.

Exemplo

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

Resposta

Se a assinatura for adicionada, uma resposta 201 Created será retornada, com o objeto de assinatura recém-criado.

Exemplo

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

Validação de URL

Importante

Antes de uma nova assinatura ser criada, o SharePoint envia uma solicitação com um token de validação na linha de consulta da solicitação para a URL de notificação fornecida. O serviço deve responder a essa solicitação retornando o token de validação. Se o serviço não validar a solicitação dessa forma, a assinatura não será criada.**

Exemplo

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

Confira também