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());
}