Enviar um convite de compartilhamento
Namespace: microsoft.graph
Importante
As APIs na versão /beta no Microsoft Graph estão sujeitas a alterações. Não há suporte para o uso dessas APIs em aplicativos de produção. Para determinar se uma API está disponível na v1.0, use o seletor de versão.
Envia um convite de compartilhamento para um DriveItem. Um convite de compartilhamento fornece permissões para os destinatários e, opcionalmente, envia um email aos destinatários para notificá-los de que o item foi compartilhado.
Permissões
Uma das seguintes permissões é obrigatória para chamar esta API. Para saber mais, incluindo como escolher permissões, confira Permissões.
| Tipo de permissão | Permissões (da com menos para a com mais privilégios) |
|---|---|
| Delegado (conta corporativa ou de estudante) | Files.ReadWrite, Files.ReadWrite.All, Sites.ReadWrite.All |
| Delegado (conta pessoal da Microsoft) | Files.ReadWrite, Files.ReadWrite.All |
| Aplicativo | Files.ReadWrite.All, Sites.ReadWrite.All |
Solicitação HTTP
POST /drives/{drive-id}/items/{item-id}/invite
POST /groups/{group-id}/drive/items/{item-id}/invite
POST /me/drive/items/{item-id}/invite
POST /sites/{siteId}/drive/items/{itemId}/invite
POST /users/{userId}/drive/items/{itemId}/invite
Corpo da solicitação
Forneça um objeto JSON com os seguintes parâmetros no corpo da solicitação.
{
"requireSignIn": false,
"sendInvitation": false,
"roles": [ "read | write"],
"recipients": [
{ "@odata.type": "microsoft.graph.driveRecipient" },
{ "@odata.type": "microsoft.graph.driveRecipient" }
],
"message": "string"
}
| Parâmetro | Tipo | Descrição |
|---|---|---|
| destinatários | Collection(DriveRecipient) | Uma coleção dos destinatários que receberão o acesso e o convite de compartilhamento. |
| mensagem | String | Uma mensagem de texto sem formatação que está incluída no convite de compartilhamento. Comprimento máximo de 2000 caracteres. |
| requireSignIn | Booleano | Especifica onde o destinatário do convite precisa entrar para exibir o item compartilhado. |
| sendInvitation | Booliano | Especifica se um email ou uma postagem é gerado (false) ou se a permissão é recém-criada (true). |
| funções | Collection(String) | Especifique as funções que são concedidas aos destinatários do convite de compartilhamento. |
| expirationDateTime | DateTimeOffset | Especifique o DateTime após o qual a permissão expira. Disponível em OneDrive for Business, SharePoint e contas de OneDrive pessoais premium. |
| password | String | A senha definida no convite pelo criador. Opcional e somente OneDrive Pessoal |
Exemplo
Este exemplo envia um convite de compartilhamento para um usuário com o endereço de email "ryan@contoso.org" com uma mensagem sobre um arquivo no qual ele está colaborando. O convite concede acesso de leitura e gravação ao arquivo para Ryan.
Solicitação HTTP
Se bem-sucedido, este método retorna o código de resposta 200 OK e o objeto de coleção permission no corpo da resposta.
POST /me/drive/items/{item-id}/invite
Content-type: application/json
{
"recipients": [
{
"email": "robin@contoso.org"
}
],
"message": "Here's the file that we're collaborating on.",
"requireSignIn": true,
"sendInvitation": true,
"roles": [ "write" ],
"password": "password123",
"expirationDateTime": "2018-07-15T14:00:00.000Z"
}
Resposta
Veja a seguir um exemplo da resposta.
HTTP/1.1 200 OK
Content-type: application/json
{
"value": [
{
"@deprecated.GrantedTo": "GrantedTo has been deprecated. Refer to GrantedToV2",
"grantedTo": {
"user": {
"displayName": "Robin Danielsen",
"id": "42F177F1-22C0-4BE3-900D-4507125C5C20"
}
},
"grantedToV2": {
"user": {
"id": "42F177F1-22C0-4BE3-900D-4507125C5C20",
"displayName": "Robin Danielsen"
},
"siteUser": {
"id": "1",
"displayName": "Robin Danielsen",
"loginName": "Robin Danielsen"
}
},
"hasPassword": true,
"id": "CCFC7CA3-7A19-4D57-8CEF-149DB9DDFA62",
"invitation": {
"email": "robin@contoso.com",
"signInRequired": true
},
"roles": [ "write" ],
"expirationDateTime": "2018-07-15T14:00:00.000Z"
}
]
}
Resposta de sucesso parcial
Ao convidar vários destinatários, é possível que a notificação tenha êxito para alguns e falhe para outros.
Nesse caso, o serviço retorna uma resposta parcial de sucesso com um código de status HTTP de 207.
Quando o sucesso parcial é retornado, a resposta para cada destinatário com falha conterá um objeto com informações sobre o que deu errado e error como corrigi-lo.
Aqui está um exemplo da resposta parcial.
HTTP/1.1 207 Multi-Status
Content-type: application/json
{
"value": [
{
"grantedTo": {
"user": {
"displayName": "Helga Hammeren",
"id": "5D8CA5D0-FFF8-4A97-B0A6-8F5AEA339681"
}
},
"id": "1EFG7CA3-7A19-4D57-8CEF-149DB9DDFA62",
"invitation": {
"email": "helga@contoso.com",
"signInRequired": true
},
"roles": [ "write" ],
"error": {
"code":"notAllowed",
"message":"Account verification needed to unblock sending emails.",
"localizedMessage": "Kontobestätigung erforderlich, um das Senden von E-Mails zu entsperren.",
"fixItUrl":"http://g.live.com/8SESkydrive/VerifyAccount",
"innererror":{
"code":"accountVerificationRequired"
}
}
},
{
"grantedTo": {
"user": {
"displayName": "Robin Danielsen",
"id": "42F177F1-22C0-4BE3-900D-4507125C5C20"
}
},
"id": "CCFC7CA3-7A19-4D57-8CEF-149DB9DDFA62",
"invitation": {
"email": "robin@contoso.com",
"signInRequired": true
},
"roles": [ "write" ],
"expirationDateTime": "2018-07-15T14:00:00.000Z"
}
]
}
Erros de SendNotification
A seguir estão alguns erros adicionais que seu aplicativo pode encontrar dentro dos objetos innererror aninhados ao enviar a notificação falhar. Os aplicativos não são necessários para lidar com eles.
| Código | Descrição |
|---|---|
| accountVerificationRequired | A verificação da conta é necessária para desbloquear o envio de notificações. |
| hipCheckRequired | Precisa resolver a verificação HIP (Prevenção contra Intrusão de Host) para desbloquear o envio de notificações. |
| exchangeInvalidUser | A caixa de correio do usuário atual não foi encontrada. |
| exchangeOutOfMailboxQuota | Fora da cota. |
| exchangeMaxRecipients | Número máximo excedido de destinatários que podem ser enviados notificações ao mesmo tempo. |
Observação: O serviço pode adicionar novos códigos de erro ou parar de retornar os antigos a qualquer momento.
Comentários
- Drives com driveType de
personal(OneDrive Pessoal) não podem criar ou alterar as permissões no DriveItem raiz. - Para ver uma lista de funções disponíveis, consulte roles property values.
Respostas de erro
Leia o tópico Respostas de Erro para obter mais informações sobre como os erros são retornados.
Comentários
Enviar e exibir comentários de