Partilhar via


Enviar um convite de compartilhamento

Namespace: microsoft.graph

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

Esta API está disponível nas seguintes implementações de cloud nacionais.

Serviço global US Government L4 US Government L5 (DOD) China operada pela 21Vianet

Permissões

Escolha a permissão ou permissões marcadas como menos privilegiadas para esta API. Utilize uma permissão ou permissões com privilégios mais elevados apenas se a sua aplicação o exigir. Para obter detalhes sobre as permissões delegadas e de aplicação, veja Tipos de permissão. Para saber mais sobre estas permissões, veja a referência de permissões.

Tipo de permissão Permissões com menos privilégios Permissões com privilégios superiores
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

Observação

O SharePoint Embedded requer a FileStorageContainer.Selected permissão para aceder ao conteúdo do contentor. Esta permissão é diferente das mencionadas anteriormente. Além das permissões do Microsoft Graph, a sua aplicação tem de ter as permissões de tipo de contentor necessárias para chamar esta API. Para obter mais informações, veja Autorização e autenticação do SharePoint Embedded.

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 partilha.
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 de sharingLink. Disponível em OneDrive for Business, SharePoint e contas oneDrive pessoais premium.
password String A palavra-passe definida no convite pelo criador. Opcional e apenas no OneDrive Pessoal.
retainInheritedPermissions Booleano Opcional. Se true (predefinição), todas as permissões herdadas existentes forem mantidas no item partilhado ao partilhar este item pela primeira vez. Se false, todas as permissões existentes são removidas ao partilhar pela primeira vez.

Exemplo

Este exemplo envia um convite de partilha para um utilizador com o endereço de e-mail "ryan@contoso.com" com uma mensagem sobre um ficheiro em que está a ser 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, veja 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.