Enviar um convite de compartilhamento

Namespace: microsoft.graph

Envia um convite de compartilhamento para um driveItem. Um convite de compartilhamento fornece permissões para os destinatários e, opcionalmente, envia um email com um link de compartilhamento.

Essa API está disponível nas seguintes implantações nacionais de nuvem.

Serviço global Governo dos EUA L4 GOVERNO DOS EUA L5 (DOD) China operada pela 21Vianet

Permissões

Escolha a permissão ou as permissões marcadas como menos privilegiadas para essa API. Use uma permissão ou permissões privilegiadas mais altas somente se o aplicativo exigir. Para obter detalhes sobre permissões delegadas e de aplicativo, consulte Tipos de permissão. Para saber mais sobre essas permissões, consulte a referência de permissões.

Tipo de permissão Permissões menos privilegiadas Permissões privilegiadas mais altas
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

Cabeçalhos de solicitação

Nome Descrição
Autorização {token} de portador. Obrigatório. Saiba mais sobre autenticação e autorização.
Content-Type application/json. Obrigatório.

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 se o destinatário do convite precisa fazer logon para visualizar o item compartilhado.
sendInvitation Booliano Se verdadeiro, um link de compartilhamento será enviado ao destinatário. Caso contrário, uma permissão é concedida diretamente sem enviar uma notificação.
funções Collection(String) Especifica as funções que devem ser concedidas aos destinatários do convite de compartilhamento.
expirationDateTime DateTimeOffset Especifica o dateTime após o qual a permissão expira. Para OneDrive for Business e SharePoint, xpirationDateTime só é aplicável para permissões do sharingLink. Disponível em contas OneDrive for Business, SharePoint e OneDrive pessoais premium.
password String A senha definida no convite pelo criador. Somente Opcional e OneDrive Personal.
retainInheritedPermissions Booleano Opcional. Se true (padrão), todas as permissões herdadas existentes serão mantidas no item compartilhado ao compartilhar esse item pela primeira vez. Se false, todas as permissões existentes forem removidas ao compartilhar pela primeira vez.

Exemplo

Este exemplo envia um convite de compartilhamento para um usuário com endereço de email "ryan@contoso.com" com uma mensagem sobre um arquivo em que está sendo colaborado. 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 https://graph.microsoft.com/v1.0/me/drive/items/{item-id}/invite
Content-type: application/json

{
  "recipients": [
    {
      "email": "ryan@contoso.com"
    }
  ],
  "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

O exemplo a seguir mostra a 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"
    }
  ]
}

Comentários

  • Drives com driveType de personal (OneDrive Pessoal) não podem criar ou alterar as permissões no DriveItem raiz.
  • Para obter uma lista de funções disponíveis, consulte valores de propriedade de funções.

Respostas de erro

Leia o tópico Respostas de Erro para obter mais informações sobre como os erros são retornados.