Partilhar via


Criar permissão num driveItem

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 Versão.

Crie um novo objeto de permissão num driveItem.

Importante

Esta API tem as seguintes restrições:

  • Para o OneDrive para trabalho ou escola e o SharePoint Online, só pode utilizar este método para criar uma nova permissão de aplicação. Se quiser criar uma nova permissão de utilizador num driveItem, consulte Convidar. Para obter mais informações sobre as permissões da aplicação, consulte Descrição geral das permissões selecionadas no OneDrive e no SharePoint.
  • Para o SharePoint Embedded, só pode utilizar este método para criar uma nova permissão do sharePointGroup com acesso apenas à aplicação. Não pode criar uma permissão no item de raiz de um contentor.

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, Files.SelectedOperations.Selected, Sites.ReadWrite.All, Sites.FullControl.All, Sites.Manage.All, Sites.Selected, Lists.SelectedOperations.Selected, ListItems.SelectedOperations.Selected
Delegado (conta pessoal da Microsoft) Files.ReadWrite Files.ReadWrite.All
Aplicativo Files.ReadWrite.All Sites.FullControl.All, Sites.Manage.All, Sites.ReadWrite.All, Sites.Selected, Files.SelectedOperations.Selected, Lists.SelectedOperations.Selected, ListItems.SelectedOperations.Selected

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}/permissions
POST /groups/{group-id}/drive/items/{item-id}/permissions
POST /me/drive/items/{item-id}/permissions
POST /sites/{siteId}/drive/items/{itemId}/permissions
POST /users/{userId}/drive/items/{itemId}/permissions

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

No corpo do pedido, forneça uma representação JSON do objeto de permissão .

Importante

  • Esta API só aceita grantedToV2 como entrada para o objeto de permissão . Outras propriedades, como grantedToIdentitiesV2 ou as preteridas grantedTo e grantedToIdentities não são aceites.
  • Para o SharePoint Embedded, ao criar uma nova permissão do sharePointGroup , o corpo do pedido tem de incluir o id e displayName do sharePointGroup referenciado na grantedToV2.siteGroup propriedade . Veja Exemplo 2.

Resposta

Se for bem-sucedido, este método devolve um 201 Created código de resposta e um objeto de permissão no corpo da resposta.

Exemplos

Exemplo 1: Adicionar uma permissão de aplicação a um driveItem no OneDrive ou no SharePoint Online

O exemplo seguinte mostra como adicionar uma writepermissão para a aplicaçãoContoso Time Manager App identificada por 89ea5c94-7736-4e25-95ad-3fa95f62b66e, num driveItem identificado por 01V4EPHZNV2OJQJNBPWNCKDTXCQ5TSVBJU numa unidade identificada por b!s8RqPCGh0ESQS2EYnKM0IKS3lM7GxjdAviiob7oc5pXv_0LiL-62Qq3IXyrXnEop.

Solicitação

O exemplo a seguir mostra uma solicitação.

POST https://graph.microsoft.com/beta/drives/b!s8RqPCGh0ESQS2EYnKM0IKS3lM7GxjdAviiob7oc5pXv_0LiL-62Qq3IXyrXnEop/items/01V4EPHZNV2OJQJNBPWNCKDTXCQ5TSVBJU/permissions
Content-Type: application/json

{
  "grantedToV2": {
    "application": {
      "id": "89ea5c94-7736-4e25-95ad-3fa95f62b66e"
    }
  },
  "roles": ["write"]
}

Resposta

O exemplo a seguir mostra a resposta.

HTTP/1.1 201 Created
Content-Type: application/json

{
  "id": "aTowaS50fG1zLnNwLmV4dHw4OWVhNWM5NC03NzM2LTRlMjUtOTVhZC0zZmE5NWY2MmI2NmVAZDljZTBmYzEtNjFkOC00YTJlLWI1ZDMtMTg3NzBkZjA2NzJj",
  "roles": [
    "write"
  ],
  "grantedTo": {
    "application": {
      "id": "89ea5c94-7736-4e25-95ad-3fa95f62b66e",
      "displayName": "Contoso Time Manager App"
    }
  },
  "grantedToV2": {
    "application": {
      "id": "89ea5c94-7736-4e25-95ad-3fa95f62b66e",
      "displayName": "Contoso Time Manager App"
    }
  }
}

Exemplo 2: Adicionar uma permissão de grupo do SharePoint a um driveItem num contentor do SharePoint Embedded

O exemplo seguinte mostra como adicionar uma writepermissão para o Internal CollaboratorssharePointGroup num driveItem identificado por 01V4EPHZNV2OJQJNBPWNCKDTXCQ5TSVBJU num ficheiro SharePoint EmbeddedStorageContainer identificado por b!s8RqPCGh0ESQS2EYnKM0IKS3lM7GxjdAviiob7oc5pXv_0LiL-62Qq3IXyrXnEop.

Solicitação

O exemplo a seguir mostra uma solicitação.

POST https://graph.microsoft.com/beta/drives/b!s8RqPCGh0ESQS2EYnKM0IKS3lM7GxjdAviiob7oc5pXv_0LiL-62Qq3IXyrXnEop/items/01V4EPHZNV2OJQJNBPWNCKDTXCQ5TSVBJU/permissions
Content-Type: application/json

{
  "grantedToV2": {
    "siteGroup": {
      "id": "10",
      "displayName": "Internal Collaborators"
    }
  },
  "roles": ["write"]
}

Resposta

O exemplo a seguir mostra a resposta.

HTTP/1.1 201 Created
Content-Type: application/json

{
  "id": "aTowaS50fG1zLnNwLmV4dHwxMEBkOWNlMGZjMS02MWQ4LTRhMmUtYjVkMy0xODc3MGRmMDY3MmM=",
  "roles": [
    "write"
  ],
  "grantedToV2": {
    "siteGroup": {
      "id": "10",
      "displayName": "Internal Collaborators"
    }
  },
  "grantedTo": {
    "siteGroup": {
      "id": "10",
      "displayName": "Internal Collaborators"
    }
  }
}